MySQL 제약 조건

김영후·2022년 7월 23일
0

제약 조건이란 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙

MySQL에서 사용가능한 제약 조건은 다음과 같다.

1.NOT NULL
2.UNIQUE
3.PRIMARY KEY
4.FOREIGN KEY
5.DEFAULT



NOT NULL


NOT NULL 제약 조건을 설정하면 해당 필드는 NULL 값을 가질 수 없다.

CREATE TABLE Test
(
ID INT NOT NULL,
Name VARCHAR(30),
ReverserveDate DATE,
RoonNum INT
);



UNIQUE

UNIQUE 제약 조건을 설정하면, 해당 필드는 서로 다른 값을 가져야 한다.

즉 중복 값을 가질 수 없다

1.CREATE TABLE 테이블 이름
( 필드명 필드타입 UNIQUE,
...
)
2.CREATE TABLE 테이블 이름
(
필드이름 필드타입,
....
[CONSTRAINT 제약조건이름] UNIQUE (필드이름)
)''

위의 두 문법은 해당 필드에 UNIQUE 제약 조건을 설정한다


PRIMARY KEY

PRIMARY KEY 제약 조건을 설정하면 해당 필드는 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 갖는다.

따라서 이 제약 조건이 설정된 필드는 NULL 값을 가질 수 없으며, 또한 중복된 값을 가질 수 없다.

이러한 PRIMARY KEY 제약 조건을 기본키라고 한다.

  1. CREATE TABLE 테이블 이름
    (
    필드이름 필드타입 PRIMARY KEY,
    ...
    )
  2. CREATE TABLE 테이블 이름
    (
    필드이름 필드타입,
    ...
    [CONSTRAINT 제약조건이름] PRIMARY KEY (필드이름)
    )



FOREIGN KEY

FOREIGN KEY 제약 조건을 설정한 필드를 외래키라고 부르며, 한 테이블을 다른 테이블과 연결해주는 역할을 한다.

외래키가 설정된 테이블에 레코드를 입력하면, 기준이 되는 테이블의 내용을 참조해서 레코드가 입력된다.

CREATE TABLE 테이블이름
(
필드이름 필드타입,
....
[CONSTRAINT 제약조건이름]
FOREIGN KEY (필드이름)
REFERENCES 테이블이름 (필드이름)
)



DEFAULT

DEFAULT 제약 조건은 해당 필드의 기본값을 설정할 수 있게 해준다.

만약 레코드를 입력할 때 해당 필드 값을 전달하지 않으면, 자동으로 설정된 기본 값을 저장한다.

CREATE TABLE 테이블이름
(
필드이름 필드타입 DEFAULT 기본값,
...
)

profile
https://poagg.tistory.com/ 로 이전합니다.

0개의 댓글