PRIMARY KEY 생성 문법 (CREATE한 TABLE에 설정)
CREATE TABLE tablename ( column1 datatype NOT NULL, column2 datatype NOT NULL, ... CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...) );
PRIMARY KEY 삭제 문법 (단일 및 복수 column 동일)
ALTER TABLE tablename drop PRIMARY KEY;
PRIMARY KEY 생성 문법 (이미 만들어진 TABLE에 추가)
[단일] ALTER TABLE tablename ADD PRIMARY KEY (column1, column2, ...); [여러 개] ALTER TABLE tablename ADD (CONSTRAINT) PK_tablename PRIMARY KEY (column1, column2, ...); - CONSTRAINT를 생략하는 경우 자동생성됨
FOREIGN KEY 생성 문법 (CREATE한 TABLE에 설정)
CREATE TABLE tablename ( column1 datatype NOT NULL, column2 datatype NOT NULL, column3 datatype, column4 datatype, ... CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...), CONSTRAINT constrain_name FOREIGN KEY (column3, column4, ...) REFERENCES REF_tablename(REF_column) );
자동생성된 생략가능한 CONSTRAINT 확인하는 방법
SHOW CREATE TABLE tablename;
FOREIGN KEY 삭제 문법
ALTER TABLE tablename DROP FOREIGN KEY FK_constraint;
FOREIGN KEY 생성 문법 (이미 생성된 TABLE에 설정)
ALTER TABLE tablename ADD FOREIGN KEY (column) REFERENCES REF_tablename(REF_column);
예제
실습