제약 조건이란 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙
MySQL에서 사용가능한 제약 조건은 다음과 같다.
1.NOT NULL
2.UNIQUE
3.PRIMARY KEY
4.FOREIGN KEY
5.DEFAULT
NOT NULL 제약 조건을 설정하면 해당 필드는 NULL 값을 가질 수 없다.
CREATE TABLE Test
(
ID INT NOT NULL,
Name VARCHAR(30),
ReverserveDate DATE,
RoonNum INT
);
UNIQUE 제약 조건을 설정하면, 해당 필드는 서로 다른 값을 가져야 한다.
즉 중복 값을 가질 수 없다
1.CREATE TABLE 테이블 이름
( 필드명 필드타입 UNIQUE,
...
)
2.CREATE TABLE 테이블 이름
(
필드이름 필드타입,
....
[CONSTRAINT 제약조건이름] UNIQUE (필드이름)
)''
위의 두 문법은 해당 필드에 UNIQUE 제약 조건을 설정한다
PRIMARY KEY 제약 조건을 설정하면 해당 필드는 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 갖는다.
따라서 이 제약 조건이 설정된 필드는 NULL 값을 가질 수 없으며, 또한 중복된 값을 가질 수 없다.
이러한 PRIMARY KEY 제약 조건을 기본키라고 한다.
- CREATE TABLE 테이블 이름
(
필드이름 필드타입 PRIMARY KEY,
...
)- CREATE TABLE 테이블 이름
(
필드이름 필드타입,
...
[CONSTRAINT 제약조건이름] PRIMARY KEY (필드이름)
)
FOREIGN KEY 제약 조건을 설정한 필드를 외래키라고 부르며, 한 테이블을 다른 테이블과 연결해주는 역할을 한다.
외래키가 설정된 테이블에 레코드를 입력하면, 기준이 되는 테이블의 내용을 참조해서 레코드가 입력된다.
CREATE TABLE 테이블이름
(
필드이름 필드타입,
....
[CONSTRAINT 제약조건이름]
FOREIGN KEY (필드이름)
REFERENCES 테이블이름 (필드이름)
)
DEFAULT 제약 조건은 해당 필드의 기본값을 설정할 수 있게 해준다.
만약 레코드를 입력할 때 해당 필드 값을 전달하지 않으면, 자동으로 설정된 기본 값을 저장한다.
CREATE TABLE 테이블이름
(
필드이름 필드타입 DEFAULT 기본값,
...
)