MySQL - Primary Key, Foreign Key

김혜령·2024년 2월 20일
0

MySQL

목록 보기
10/14
post-thumbnail

Primary key(기본 키)

  • 테이블의 각 레코드를 식별
  • 중복되지 않은 고유값을 포함
  • NULL 값을 포함할 수 없음
  • 테이블 당 하나의 기본키를 가짐
  • 표기 : PRI
  • Primary key 생성 문법 - 테이블 생성 시 pk 지정

    create table table_name
    (
    column1 data_type not null,
    column data_type not null,
    ...
    constraint constraint_name #생략가능
    primary key (column1, column2, ...);

  • Primary key 생성 문법 - 테이블 생성 후 pk 지정

    alter table table_name
    add constraint constraint_name #생략가능
    primary key (column1, colum2, ...);

  • Primary key 삭제 문법

    alter table table_name
    drop primary key;


Foreign Key(외래 키)

  • 한 테이블을 다른 테이블과 연결해주는 역할

  • 참조되는 테이블의 항목은 그 테이블의 기본키(혹은 단일값)

  • 표기 : MUL

  • Foreign key 생성 문법 - 테이블 생성 시 fk 지정

    create table table_name
    (
    column1 data_type not null,
    column2 data_type not null,
    column3 data_type,
    column4 data_type,
    ...
    constraint constraint_name #생략가능
    primary key (column1, column2, ...),
    constraint constraint_name #생략가능
    foreign key (column3, column4, ...)
    references ref_tablename(ref_column);

    - pk는 테이블당 하나이기 때문에 이름이 필요 없지만 fk는 여러개일 수 있다. 때문에 constraint를 생략했을 때 자동생성된 constraint 이름을 확인하는 방법은 다음과 같다.

    show create table table_name;

  • Foreign key 생성 문법 - 테이블 생성 후 fk 지정

    alter table table_name
    add foreign key (column)
    references ref_tablename(ref_column);

  • Foreign key 삭제 문법

    alter table table_name
    drop foreign key fk_constraint;

0개의 댓글