제약조건(constraint)란, 데이터의 무결성을 지키기 위해 제한된 조건을 의미한다.
데이터를 삽입할때 조건을 만족했을 경우에만 데이터가 삽입되도록 제약을 할 수 있는 것.
send me email if you have any questions.
무결성
-
null
필수 입력 사항이 아니며 데이터 값이 비워져있어도 상관없다. -
not null
필수 입력 사항. 데이터값이 무조건 있어야 한다. -
unique
같은 테이블 내에서 중복이 안되는 제약조건으로 고유한 데이터들의 제약조건이다. -
primary key
not null 과 unique가 합쳐진 제약조건. 데이터들을 식별할때 쓰이는 제약조건. pk 라고도 불린다. -
foreign key
외래키이다. 다른 테이블을 참조하며 참조하는 테이블에서 존재하는 값만 사용 가능하다. -
check
주어진 조건에 해당하는 값만 입력 가능하다. 조건에 해당하지 않는 데이터가 들어오면 오류를 발생시킨다. -
default
기본값을 설정한다.
제약조건 확인
mysql> select * from information_schema.table_constraints;
제약조건 추가 (primary key)
mysql> alter table (tableName) add constraint primary key (columnName);
제약조건 추가 (foreign key)
mysql> alter table (tableName) add constraint (constraintName) foreign key (columnName) references 부모테이블명 (pkColumnName) on delete cascade / on update cascade;
제약조건 추가 (not null)
mysql> alter table (tableName) modify (columnName) (dataType) constraint (constraintName) not null;
제약조건 삭제
mysql> alter table (tableName) drop constraint (constraintName);
제약조건 삭제 (foreign key)
mysql> alter table (tableName) foreign key (constraintName);
PREVIOUSMySql 외래키(Foreign Key)