DDL

CREATE DATABASE

1
2
3
4
5
6
7
8
9
10
11
12
CREATE DATABASE 데이터베이스_이름
[ WITH
    [ OWNER [=] user_name ]
    [ TEMPLATE [=] template ]
    [ ENCODING [=] encoding ]            # e.g. 'UTF8'
    [ LC_COLLATE [=] lc_collate ]        # e.g. 'ko_KR.UTF-8'
    [ LC_CTYPE [=] lc_ctype ]            # e.g. 'ko_KR.UTF-8'
    [ TABLESPACE [=] tablespace ]
    [ ALLOW_CONNECTIONS [=] boolean ]
    [ CONNECTION LIMIT [=] integer ]     # e.g. -1
    [ IS_TEMPLATE [=] boolean ]
] ;

SELECT DATABASE

1
2
3
4
CREATE DATABASE 데이터베이스_이름;
...

\connect 데이터베이스_이름;

CREATE TABLE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CREATE TABLE 테이블이름 (
  -- 컬럼 선언
	컬럼명1 데이터타입 제약조건, # e.g. 제약조건 : PRIMARY KEY, NOT NULL ...
	컬럼명2 데이터타입 제약조건,
	...,
	
	-- 복합 프라이머리 키
	PRIMARY KEY (컬럼명1, 컬럼명2), # 복합키인 경우
	
	-- 외래키
	CONSTRAINT fk_제약조건명
	FOREIGN KEY (외래키로 만들 컬럼명)
	REFERENCES 부모테이블 (부모테이블의_기본키_컬럼)
	[
		ON DELETE 액션    # e.g. CASCADE, RESTRICT ...
		ON UPDATE 액션
	];
	
);

-- 테이블 코멘트 추가
COMMENT ON TABLE 테이블이름 IS '테이블에 대한 설명을 추가합니다.';

-- 컬럼 코멘트 추가
COMMENT ON COLUMN 테이블이름.컬럼명1 IS '컬럼1에 대한 설명을 추가합니다.';
COMMENT ON COLUMN 테이블이름.컬럼명2 IS '컬럼2에 대한 설명을 추가합니다.';
...

-- 코멘트 삭제
COMMENT ON TABLE 테이블이름 IS NULL;
COMMENT ON COLUMN 테이블이름.컬럼명1 IS NULL;

Comments