망각에 재주 있는 나를 위해 기록하는 곳.

[SQL] 데이터베이스 구조 변경 (ALTER) 본문

DB

[SQL] 데이터베이스 구조 변경 (ALTER)

baobabtree 2024. 3. 28. 01:27

ALTER 문은 테이블의 구조를 변경할 때 사용하는데, 테이블을 생성한 후에도 필요에 따라 테이블의 열을 추가, 수정, 삭제하거나 제약 조건을 추가, 제거 또 테이블, 인덱스, 스키마 등에 사용한다.
(ALTER는 사용 경우가 많다. https://www.postgresql.org/docs/16/sql-altertable.html 공식문서에서 더 자세히 볼 수 있다.)

 

 

 

기본 구조는 아래와 같다.

ALTER TABLE 테이블
동작;

 

 

컬럼 추가

ALTER TABLE 테이블
ADD COLUMN 컬럼_이름 데이터_타입;

 

 

컬럼 삭제

ALTER TABLE 테이블
DROP COLUMN 컬럼_이름1,
DROP COLUMN 컬럼_이름2;
ALTER TABLE 테이블
DROP COLUMN 컬럼_이름 CASCADE;

CASCADE를 사용하면 해당 컬럼을 외래 키 참조하는 뷰, 인덱스, 제약조건 등이 모두 함께 삭제된다.

 

ALTER TABLE 테이블
DROP COLUMN IF EXISTS 컬럼1;

if문 같은거다. 해당 테이블에 컬럼1 있으면 삭제한다.

 

 

 

컬럼 이름 변경('컬럼1'을 '컬럼2'로 이름 변경)

ALTER TABLE 테이블
RENAME COLUMN 컬럼1 TO 컬럼2;

 

 

제약조건 삭제 ('컬럼1'의 'NOT NULL' 제약조건 삭제)

ALTER TABLE 테이블
ALTER COLUMN 컬럼1 DROP NOT NULL;

 

 

테이블 이름 변경

ALTER TABLE 테이블A
RENAME TO 테이블B;

 

 

더 많은 활용 방법은 https://www.postgresql.org/docs/online-resources/에서

PostgreSQL Tutorial이나 Tutorials Point PostgreSQL을 참고하면 좋을 듯하다.