CREATE TABLE tablename
(
col1 datatype not null,
col2 datatype not null,
col3 datatype not nullCONSTRAINT constraint_name
PRIMARY KEY (col1, col2)
);
CONSTRAINT는 생략가능
ALTER TABLE tablename
ADD CONSTRAINT constraint_name PRIMARY KEY (col1, col2);
CONSTRAINT는 생략가능
ALTER TABLE tablename
DROP PRIMARY KEY ;
CREATE TABLE tablename
(
col1 datatype not null,
col2 datatype not null,
col3 datatype not null,
col4 datatype not nullCONSTRAINT constraint_name
PRIMARY KEY (col1, col2),
CONSTRAINT constraint_name
FOREIGN KEY (col3, col4) REFERENCES REF_tablename(REF_column)
);
CREATE TABLE orders
(
oid int not null,
order_no varchar(16),
pid int,
PRIMARY KEY (oid),
CONSTRAINT FK_person FOREIGN KEY (pid) REFERENCES person(pid)
);
ALTER TABLE tablename
ADD FOREIGN KEY (col1) REFERENCES REF_tablename(REF_column);
ALTER TABLE tablename
DROP FOREIGN KEY FK_constraint;
쿼리가 잘 실행되어도 "desc tablename;" 했을 때 외래키가 남아있을 수 있는데
"show create table tablename;" 으로 확인하면 KEY 속성만 남아있다는 것을 알 수 있음 (레퍼런스 관계는 깨져있음)


SHOW CREATE TABLE tablename