여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. SQL - 참조 - 키워드 - FOREIGN KEY
SQL – 참조 – 키워드 – FOREIGN KEY
1년전 작성
8개월전 수정

FOREIGN KEY

FOREIGN KEY 제약 조건은 두 테이블을 함께 연결하는 데 사용되는 키다.

FOREIGN KEY는 다른 테이블의 PRIMARY KEY를 참조하는 한 테이블의 필드(또는 필드 모음)다.

CREATE TABLE의 FOREIGN KEY

FOREIGN KEY 생성

“Orders” 테이블이 생성될 때 “PersonID” 열에 FOREIGN KEY를 생성한다.

MySQL
CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
SQL SERVER/Oracle/MS Access
CREATE TABLE Orders (
    OrderID int NOT NULL PRIMARY KEY,
    OrderNumber int NOT NULL,
    PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
FOREIGN KEY 정의

FOREIGN KEY 제약 조건의 이름 지정을 허용하고 여러 열에 대한 FOREIGN KEY 제약 조건을 정의한다.

MySQL/SQL SERVER/Oracle/MS Access
CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

ALTER TABLE의 FOREIGN KEY

FOREIGN KEY 생성

“Orders” 테이블이 이미 생성된 경우 “PersonID” 열에 대한 FOREIGN KEY 제약 조건을 생성한다.

MySQL/SQL SERVER/Oracle/MS Access
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
FOREIGN KEY 정의

FOREIGN KEY 제약 조건의 이름 지정을 허용하고 여러 열에 대한 FOREIGN KEY 제약 조건을 정의한다.

MySQL/SQL SERVER/Oracle/MS Access
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
FOREIGN KEY 삭제

FOREIGN KEY 제약 조건을 삭제한다.

MySQL
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL SERVER/Oracle/MS Access
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
참고

Mingg`s Diary
밍구
공부 목적 블로그