CREATE TABLE문 일반 형식
CREATE TABLE 테이블명 (
칼럼명1 데이터타입 [NULL | NOT NULL],
...
칼럼명N 데이터타입 [NULL | NOT NULL],
[CONSTRAINT 제약조건명1 PRIMARY KEY (칼럼명1, 칼럼명2, ...)],
[CONSTRAINT 제약조건명2 FOREIGN KEY (칼럼명1, 칼럼명2, ...) REFERENCES 참조테이블명 (칼럼명1, 칼럼명2, ...)]);
- 테이블명 정의
- 사용자 이름(U)에 속한 각 테이블명은 유일해야 한다.
- 30자 초과 불가
- 문자로 시작
- 문자, 1~9까지의 숫자, _$# 3개 가능
- SQL 예약어 사용 불가
- 칼럼명 정의
- 하나의 테이블에서 칼럼명 유일해야 한다.
- 30자 초과 불가
- 문자로 시작
- 문자, 1~9까지의 숫자, _$# 3개 가능
- SQL 예약어 사용 불가
- 체크 제약조건으로 테이블의 칼럼에 값을 제한
칼럼명 데이터타입 [NULL | NOT NULL] [CONSTRAINT 제약조건명] [CHECK (조건)]
- 테이블에 기본 키 제약조건 지정
- 기본 키 칼럼에 중복된 데이터 허용 불가
- 기본 키 칼럼에 NULL값 허용 불가
- 기본 키 칼럼은 자동으로 NOT NULL이 됨
- 기본 키를 구성하는 칼럼의 최대 수는 16개
- 기본 키가 단일 칼럼일 때, 기본 키 칼럼에 'PRIMARY KEY' 혹은 'CONSTRAINT 제약조건명 PRIMARY KEY'를 명시적으로 선언 가능
- 테이블에 외부 키 제약조건 지정
- 외부 키 칼럼의 수와 참조하는 테이블의 기본 키 칼럼의 수가 동일해야 함
- 외부 키 칼럼의 데이터타입과 참조하는 테이블의 기본 키 칼럼의 데이터 타입이 동일해야 함
- 외부 키 칼럼의 데이터타입을 생략하면, 참조하는 테이블의 기본 키 칼럼의 데이터타입을 참조 함
- 테이블 생성시 참조할 테이블의 기본 키 칼럼은 생략할 수 있음
- 단일 칼럼의 외부 키 제약조건은, 외부 키 칼럼에 'CONSTRAINT 제약조건명 FOREIGN KEY REFERENCES 참조할테이블명'을 명시적으로 선언 가능
- 테이블 칼럼에 고유 키 제약조건 지정
칼럼명 데이터타입 [NULL | NOT NULL] UNIQUE
- 칼럼에 기본 값 지정
- 기본 값을 지정하는 칼럼은 NOT NULL 제약조건을 지정하지 않음
칼럼명 데이터타입 [DEFAULT 값]