[mySQL] CONSTRAINT, 특정 컬럼에 제약사항 걸기
DB/mySQL 2023. 5. 22.
CONSTRAINT: 제약사항
테이블에 이상한 row가 추가되는 것을 막아준다.
제약사항 추가
ADD CONSTRAINT 제약사항 이름 CHECK 제약내용으로 제약사항을 추가할 수 있다.
기본구조
ALTER TABLE 테이블_이름
ADD CONSTRAINT 제약사항_이름 CHECK (제약내용);
(예시 SQL문) users 테이블의 registraion_number 컬럼은 10000000 미만이어야 하고, 이 제약사항의 이름은 st_rule이다.
ALTER TABLE users
ADD CONSTRAINT st_rule CHECK (registration_number < 10000000);
제약사항 제거
DROP CONSTRAINT 제약사항_이름 으로 제거 가능하다.
기본구조
ALTER TABLE users
DROP CONSTRAINT st_rule;
여러 개의 제약사항 추가
AND를 사용해 여러 제약사항 추가가 가능하다.
ALTER TABLE Student
ADD CONSTRAINT CHK_Age CHECK (Age >= 10 AND Age <= 100);
더보기: 제약사항 사용 예시
더보기
제약사항 사용 예시
예시 1
이메일에 '@'이 포함되어 있는지 확인
ALTER TABLE student
ADD CONSTRAINT st_rule CHECK (email LIKE '%@%');
예시 2
gender컬럼에 m 또는 f 만 입력되어야함
ALTER TABLE student
ADD CONSTRAINT st_rule CHECK (gender IN ('m', 'f'));
제약사항을 거는 이유
제약사항을 세심하게 걸수록 더 제대로 된 데이터를 받을 수 있다.
'DB > mySQL' 카테고리의 다른 글
[SQL] 데이터베이스 모델링 기본 개념 (0) | 2023.05.24 |
---|---|
[mySQL] 테이블 이름 변경, 복사, 삭제하기 (0) | 2023.05.22 |
[mySQL] Primary Key(기본키)와 UNIQUE 속성의 차이 (0) | 2023.05.21 |
[mySQL] 기본값(Default value) 설정하기 (0) | 2023.05.21 |
[mySQL] 테이블의 컬럼 추가, 삭제와 컬럼의 이름 변경 (0) | 2023.05.21 |