轻松上手,快乐学习!

SQL FOREIGN KEY 关键字


FOREIGN KEY

FOREIGN KEY约束是用于两个表连接在一起的关键。 FOREIGN KEY是一个表中的一个字段(或字段集合),它引用另一个表中的PRIMARY KEY。

CREATE TABLE上的SQL FOREIGN KEY

创建“Orders”表时,以下SQL在“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约束,请使用以下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

要在“Orders”表创建时在“PersonID”列上创建FOREIGN KEY约束,请使用以下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);

DROP FOREIGN KEY Constraint

要删除FOREIGN KEY约束,请使用以下SQL: MySQL的:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;