SQL(PRIMARY KEY, FOREIGN KEY)

Lee JunBok·2023년 6월 7일

SQL

목록 보기
6/8

PRIMARY KEY

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

create table person
(
    pid int NOT NULL,
    name varchar(16),
    age int,
    sex char,
    primary key(pid)
);
# 2개도 가능
create table animal
(
    name varchar(16) NOT NULL,
    type varchar(16) NOT NULL,
    age int,
    primary key (name, type)
);
# 삭제하기 : 1개던 2개던 모두 삭제
alter table person drop primary key;
# 기존 테이블에 키 지정하기
ALTER TABLE person ADD PRIMARY KEY(pid);

ALTER TABLE animal ADD PRIMARY KEY(name, type);

FOREIGN KEY

한 테이블을 다른 테이블과 연결해주는 역할이며, 참조되는 테이블의 항목은 그 테이블의 기본키 (혹은 단일값)

# FOREIGN KEY 지정
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)
);

# FOREIGN KEY 미지정
CREATE TABLE job
(
    jid int not null,
    name varchar(16),
    pid int,
    PRIMARY KEY (jid),
    FOREIGN KEY (pid) REFERENCES person(pid)
);
# 미지정한 key 이름 보기
SHOW CREATE TABLE job;

# FOREIGN KEY 삭제
ALTER TABLE orders
DROP FOREIGN KEY FK_person;

# FOREIGN KEY 등록
ALTER TABLE orders
ADD FOREIGN KEY (pid) REFERENCES person(pid);

이글은 제로베이스 데이터 취업스쿨의 강의자료 일부를 발췌하여 작성되었습니다.

profile
Learning Data Analyst

0개의 댓글