primary key(기본키)
- 테이블의 각 레코드를 식별
- 중복되지 않은 고유값을 포함
- null 값을 포함할 수 없음
- 테이블당 하나의 기본키를 가짐
primary key 생성 문법

하나의 컬럼을 기본키로 설정


여러개의 컬럼을 기본키로 설정

name과 type이 각가 key가 아니라 이거 두개가 하나의 키다.

primary key 삭제 방법
alter table 테이블명
drop primary key;

하나의 컬럼이든 두개의 컬럼이 primary key로 설정되었든 상관없이 동일한 방법이다.

primary key 재 생성 방법


constraint 생략 가능

foreign key
- 한 테이블을 다른 테이블과 연결해주는 역할이며, 참조되는 테이블의 항목은 그 테이블의 기본키(혹은 단일값)
foreign key 생성 문법
- foreign key는 참조하는 다른 테이블이 있어야 하므로 references에서 다른 테이블을 선언해야함.
- constraint가 foreign key 이름을 주는 것.



constraint를 생략하면 자동으로 이름이 생성됨.

constraint 확인문법
show create table 테이블명


foreign key 삭제 문법
alter table 테이블명
drop foreign key 참조키이름



남아있는 것 처럼 보여도 레퍼런스 관계는 깨져있다.
foreign key 재생성



