English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL FOREIGN KEY 키워드 사용법 및 예제

SQL 키워드 참조

FOREIGN KEY

FOREIGN KEY약束은 두 테이블을 연결하는 데 중요한 역할을 합니다。

FOREIGN KEY는 다른 테이블의 PRIMARY KEY를 참조하는 테이블의 한 필드(또는 필드 집합)입니다。

CREATE TABLE에서의 SQL FOREIGN KEY

테이블 "PersonID"을 생성할 때, 다음 SQL을 사용하여 열에 FOREIGN KEY "Orders"를 생성합니다:

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약束을 정의하려면 다음 SQL문법을 사용하십시오:

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에서의 SQL FOREIGN KEY

이미 생성된 테이블 이후 "PersonID" 열에 FOREIGN KEY약束 "Orders"를 생성하려면 다음 SQL을 사용하십시오:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);

FOREIGN KEY約束을 이름 지정하고 여러 열에 FOREIGN KEY약束을 정의하려면 다음 SQL문법을 사용하십시오:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);

FOREIGN KEY 제약 조건 제거

FOREIGN KEY 제약 조건을 제거하려면 다음 SQL을 사용하십시오:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

SQL 키워드 참조