(MySQL)PK / FK

지며리·2023년 1월 6일
0

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;
profile
쉽고 유익하게 널리널리

0개의 댓글