DB/PostgreSQL

[DB] DDL

2juhyunju 2021. 12. 2. 14:07

DDL 이란? 

DDL(Data Definition Language) 의 약어로 데이터베이스를 정의하는 언어이다.

데이터베이스를 생성하는 CREATE ,수정하는 ALTER, 삭제하는 DROP 으로 이루어져 있다. 

데이터 베이스 생성

- CREATE 명령어를 사용해 데이터 베이스 및 테이블을 생성할 수 있다.

CREATE <데이터베이스이름>; // 데이터베이스 생성

CREATE TABLE <테이블이름>
(
	<컬럼이름> 데이터 타입 제약조건,
	<컬럼이름> 데이터 타입 제약조건,
	<컬럼이름> 데이터 타입 제약조건
...
);

데이터베이스 삭제

- DROP 명령어를 사용해 데이터 베이스 및 테이블을 삭제할 수 있다.

DROP DATABASE <데이터베이스이름>; // 데이터베이스 삭제

DROP TABLE <테이블이름>; // 테이블 삭제

* 만약 참조하고 있는 테이블이 있어 삭제가 안될시 CASCADE 명령어를 붙여서 테이블을 삭제한다.
EX) DROP TABLE <테이블이름> CASCADE;

데이터베이스 수정

- AITER 명령어를 사용해 데이터 베이스를 수정할 수 있다.

ALTER TABLE <테이블이름> ADD COLUMN <컬럼이름> <데이터타입>; // 컬럼 추가

ALTER TABLE <테이블이름> RENAME <기존컬럼 이름> TO <바꿀컬럼 이름>; // 컬럼 이름 변경

ALTER TABLE <테이블이름> ALTER COLUMN <컬럼 이름> TYPE <데이터 타입>; // 컬럼의 데이터 타입 변경

ALTER TABLE <테이블이름> ALTER COLUMN <컬럼 이름> SET NOT NULL; // 제약조건 추가

ALTER TABLE <테이블이름> ALTER COLUMN <컬럼 이름> DROP NOT NULL; // 제약조건 삭제

ALTER TABLE <테이블이름> ADD PRIMARY KEY (<컬럼이름>); // PK 추가

ALTER TABLE <테이블이름> ADD FOREIGN KEY (<컬럼이름>) REFERENCES <부모테이블 (컬럼이름)> on delete cascade; // FK 추가 cascade = 종속 설정

ALTER TABLE <테이블이름> DROP COLUMN <컬럼 이름> // 컬럼 삭제