亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
SQL 基礎教程 SQL 語法 SQL SELECT 語句 SQL SELECT DISTINCT 語句 SQL WHERE 子句 SQL AND & OR 運算符 SQL ORDER BY 關鍵字 SQL INSERT INTO 語句 SQL UPDATE 語句 SQL DELETE 語句 SQL 函數(shù) SQL Date 函數(shù) SQL NULL 函數(shù) SQL 函數(shù) SQL AVG() 函數(shù) SQL COUNT() 函數(shù) SQL FIRST() 函數(shù) SQL LAST() 函數(shù) SQL MAX() 函數(shù) SQL MIN() Function SQL SUM() Function SQL GROUP BY 語句 SQL HAVING 子句 SQL UCASE() 函數(shù) SQL LCASE() 函數(shù) SQL MID() 函數(shù) SQL LEN() 函數(shù) SQL ROUND() 函數(shù) SQL NOW() 函數(shù) SQL FORMAT() 函數(shù) SQL 快速參考 SQL 主機 SQL 高級教程 SQL SELECT TOP 子句 SQL LIKE 操作符 SQL 通配符 SQL IN 操作符 SQL BETWEEN 操作符 SQL 別名(Aliases) SQL 連接(Joins) SQL INNER JOIN 關鍵字 SQL LEFT JOIN 關鍵字 SQL RIGHT JOIN 關鍵字 SQL FULL OUTER JOIN 關鍵字 SQL UNION 操作符 SQL SELECT INTO 語句 SQL INSERT INTO SELECT 語句 SQL CREATE DATABASE 語句 SQL CREATE TABLE 語句 SQL 約束(Constraints) SQL NOT NULL 約束 SQL UNIQUE 約束 SQL PRIMARY KEY 約束 SQL FOREIGN KEY 約束 SQL CHECK 約束 SQL DEFAULT 約束 SQL CREATE INDEX 語句 SQL 撤銷索引、撤銷表以及撤銷數(shù)據(jù)庫 SQL ALTER TABLE 語句 SQL AUTO INCREMENT 字段 SQL 視圖(Views) MySQL NOW() 函數(shù) MySQL CURDATE() 函數(shù) MySQL CURTIME() 函數(shù) MySQL DATE() 函數(shù) MySQL EXTRACT() 函數(shù) MySQL DATE ADD() 函數(shù) MySQL DATE SUB() 函數(shù) MySQL DATEDIFF() 函數(shù) MySQL DATE FORMAT() 函數(shù) SQL Server GETDATE() 函數(shù) SQL Server DATEPART() 函數(shù) SQL Server DATEADD() 函數(shù) SQL Server DATEDIFF() 函數(shù) SQL Server CONVERT() 函數(shù) SQL NULL 值 SQL 通用數(shù)據(jù)類型 SQL 用于各種數(shù)據(jù)庫的數(shù)據(jù)類型
characters

SQL FOREIGN KEY 約束



SQL FOREIGN KEY 約束

一個表中的 FOREIGN KEY 指向另一個表中的 PRIMARY KEY。

讓我們通過一個實例來解釋外鍵。請看下面兩個表:

"Persons" 表:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

"Orders" 表:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

請注意,"Orders" 表中的 "P_Id" 列指向 "Persons" 表中的 "P_Id" 列。

"Persons" 表中的 "P_Id" 列是 "Persons" 表中的 PRIMARY KEY。

"Orders" 表中的 "P_Id" 列是 "Orders" 表中的 FOREIGN KEY。

FOREIGN KEY 約束用于預防破壞表之間連接的行為。

FOREIGN KEY 約束也能防止非法數(shù)據(jù)插入外鍵列,因為它必須是它指向的那個表中的值之一。


CREATE TABLE 時的 SQL FOREIGN KEY 約束

下面的 SQL 在 "Orders" 表創(chuàng)建時在 "P_Id" 列上創(chuàng)建 FOREIGN KEY 約束:

MySQL:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

如需命名 FOREIGN KEY 約束,并定義多個列的 FOREIGN KEY 約束,請使用下面的 SQL 語法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)

ALTER TABLE 時的 SQL FOREIGN KEY 約束

當 "Orders" 表已被創(chuàng)建時,如需在 "P_Id" 列創(chuàng)建 FOREIGN KEY 約束,請使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

如需命名 FOREIGN KEY 約束,并定義多個列的 FOREIGN KEY 約束,請使用下面的 SQL 語法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

撤銷 FOREIGN KEY 約束

如需撤銷 FOREIGN KEY 約束,請使用下面的 SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders

Previous article: Next article: