1. Primary key (기본 키)
- 테이블의 각 레코드를 식별
- 중복되지 않은 고유값을 포함
- NULL 값을 포함할 수 없음
- 테이블 당 하나의 기본 키를 가짐
1) 생성 문법
* constraint 구문은 생략 가능create table tablename ( column1 datatype not null, column2 datatype not null, ... constraint constraint_name primary key (column1, column2, ...) );
2) 삭제 문법
* 삭제 대상이 2개 이상이여도 문법은 동일alter able tablename drop primary key;
3) Table이 생성된 이후에 Primary Key 부여 문법
alter table tablename add primary key (column1, colum2, ...);
2. Foreign key (외래 키)
- 한 테이블을 다른 테이블과 연결해주는 역할이며,
참조되는 테이블의 항목은 그 테이블의 기본키 (혹은 단일값)create table tablename ( column1 datatype not null, column2 datatype not null, column3 datatype, column4 datatype ... constraint constraint_name primary key (column1, column2, ...), constraint constraint_name primary key (column3, column4, ...) references REF_tablename (REF_columnn) );
- Create table에서 Foreign key를 지정하는 경우, Constraint 를 생략할 수 있다.
1) Constraint 확인 문법
- (지정을 생략해서) 자동 생성된 Constraint를 확인하는 방법
2) 삭제 문법show create table tablename;
3) Table이 생성된 이후에 Foreign Key 부여 문법alter table tablename drop foreign key FK_constraint;
alter table tablename add foreign key (column) references REF_tablename(REF_column);