Primary Key
테이블 생성할 때 Primary Key 생성
create table table_name(
column1 datatype not null,
column2 datatype not null,
...
constraint constraint_name
primary key (column1, column2,..);
- 하나의 컬럼만 지정할 수도 있고, 여러개의 컬럼을 지정할 수도 있다.
- primary key로 지정하는 칼럼은 not null이어야 하고 유일무이해야한다.
- constraint는 생략할 수 있다.
테이블 생성 후 Primary Key 지정
alter table table_name
add constraint constraint_name
primary key (column1, column2, ..);
테이블 내 Primary Key 삭제
alter table table_name drop primary key;
Foreign Key
- 한 테이블을 다른 테이블과 연결해주는 역할
- 참조되는 테이블의 항목은 그 테이블의 기본키(Primary Key) 혹은 단일값
테이블 생성할 때 Foreign Key 생성
create table table_name(
column1 datatype not null,
column2 datatype not null,
column3 datatype,
column4 datatype,
...
constraint constraint_name
primary key (column1, column2,..),
constraint constraint_name
foreign key (column3, column4,...)
references referenced_table_name (referenced_column);
- constraint는 생략할 수 있다.
- 자동생성된 constraint는 "show create table table_name;" 쿼리로 조회 가능
테이블 생성 후 Foreign Key 지정
alter table table_name
add foreign key (column)
references ref_tablename(ref_column);
테이블 내 Foreign Key 삭제
alter table table_name
drop foreign key FK_constraint;