본문 바로가기
Skills/MsSQL

[MSSQL] CONSTRAINT 제약 조건 관련 문법 정리

by Hoseok 2023. 11. 13.
728x90
반응형

 

1. ADD CONSTRAINT


기존 테이블에 새로운 제약 조건을 추가할 때 사용합니다.


예시:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE(column_name);


2. CHECK CONSTRAINT


특정 컬럼이 특정 조건을 만족해야 함을 지정합니다.


예시:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (column_name condition);

 


3. WITH NOCHECK


제약 조건을 추가할 때 기존 데이터에 대해 제약 조건을 검사하지 않고 제약 조건을 추가합니다.
기존 데이터가 제약 조건을 위반할 경우에 유용합니다.


예시:

ALTER TABLE table_name
WITH NOCHECK
ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES other_table(column_name);

 


4. DROP CONSTRAINT


기존의 제약 조건을 제거합니다.

 

예시:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

 


5. PRIMARY KEY


테이블의 주요 키를 설정합니다.

 

예시:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column_name);

 


6. FOREIGN KEY


다른 테이블의 키를 참조하는 외래 키를 설정합니다.

 

예시:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES other_table(column_name);

 


7. UNIQUE


컬럼의 모든 값이 유일해야 함을 지정합니다.

 

예시:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_name);

 


8. DEFAULT


컬럼에 기본값을 설정합니다.

 

예시:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name DEFAULT default_value FOR column_name;

 


9. NOT NULL


컬럼이 NULL 값을 가질 수 없음을 지정합니다.
이는 제약 조건을 추가하는 것이 아니라 컬럼 정의에 직접 포함됩니다.


예시:

ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;

 

728x90
반응형