PRIMARY KEY, FOREIGN KEY

송영석·2023년 5월 30일
0

PRIMARY KEY (기본키)

  • 테이블의 각 레코드를 식별
  • 중복되지 않은 고유값을 포함
  • NULL 값 포함 X
  • 테이블 당 하나의 기본키를 가짐

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 (외래키)

  • 한 테이블을 다른 테이블과 연결해주는 역할
  • 참죄되는 테이블의 항목은 그 테이블의 기본키(혹은 단일값)
  • 여러 개의 값을 가질 수 있음

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);

예제





실습



profile
매일매일 작성!!

0개의 댓글