[Postgresql] 컬럼 추가 / 변경 / 삭제 쿼리 정리 (ALTER TABLE)
- Database/Postgresql
- 2020. 2. 18. 23:39
서론
개발하다가 DB에서 데이터를 Select 하는 경우가 가장 빈번하다. 그 다음은 데이터를 가공하거나 테스트 데이터를 생성하는 등 DML 데이터 조작 SQL을 작성하는 경우다.
하지만 점점 직접 테이블을 생성하고 수정하며 제약사항을 걸고 기본값을 설정하거나 외래키, 외래키에 대한 옵션 등 자주 사용하지는 않지만 그로 인해 잊어버리기 쉬운 수정(ALTER) DDL을 정리하고자 한다.
컬럼 추가
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 제약조건 |
자동증가(auto_increment) PK 컬럼 생성 예제
SQL : ALTER TABLE tblTest ADD COLUMN test_seq bigint PRIMARY KEY DEFAULT nextval('test_seq');
-> ALTER TABLE tblTest ADD COLUMN test_seq serial PRIMARY KEY;
이렇게 하면 serial 이 1에서부터 하나씩 증가.
FK(외래키) 컬럼 생성 예제
SQL : ALTER TABLE tblTest ADD COLUMN test_seq bigint REFERENCES tblTest2(test_seq2);
일반 컬럼 생성 예제
SQL : ALTER TABLE tblTest ADD COLUMN name varchar(50) DEFAULT '';
컬럼 변경
컬럼명 변경
SQL : ALTER TABLE 테이블명 RENAME COLUMN 현재컬럼명 TO 새로운컬럼명;
컬럼 데이터 타입 변경 (주로 varchar의 사이즈를 늘려야 되는 경우 많이 쓰게되더라.)
SQL : ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 TYPE 데이터타입
Default 값 추가 / 제거
추가 SQL : ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 SET DEFAULT 데이터
제거 SQL : ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 DROP DEFAULT
NOT NULL 추가 / 제거
추가 SQL : ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 SET NOT NULL;
제거 SQL : ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 DROP NOT NULL;
컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명; |
참고자료
'Database > Postgresql' 카테고리의 다른 글
[Postgresql] 날짜시간 추출, EXTRACT() 함수 사용법 정리 (0) | 2021.02.05 |
---|---|
[Postgresql] generate_series 함수.(1부터 10까지의 자연수, 날짜&시간 생성) (4) | 2021.01.28 |
Postgresql JSON 데이터 타입 handling (0) | 2019.12.20 |
[Postgresql] pgadmin을 이용한 database 백업 및 복구(DB 이전) (0) | 2019.05.20 |
[Postgresql] 트리거 생성 및 확인하기 (0) | 2019.05.19 |