sql 中的 fk 是外鍵約束,用于維護(hù)兩個(gè)表之間的數(shù)據(jù)完整性和一致性,通過建立邏輯關(guān)系確保子表中的數(shù)據(jù)引用了主表中的有效數(shù)據(jù),并防止刪除主表中引用的數(shù)據(jù)。
什么是 SQL 中的 FK?
FK 是外鍵約束的縮寫。外鍵約束是關(guān)系型數(shù)據(jù)庫中用于維護(hù)數(shù)據(jù)完整性和一致性的數(shù)據(jù)庫對(duì)象。
外鍵約束的作用
外鍵約束在兩個(gè)表之間建立邏輯關(guān)系,確保一個(gè)表中的數(shù)據(jù)與另一個(gè)表中的數(shù)據(jù)相關(guān)聯(lián)。它執(zhí)行以下操作:
數(shù)據(jù)完整性:確保子表中的數(shù)據(jù)引用了主表中的有效數(shù)據(jù)。
參照完整性:阻止從子表中刪除主表中引用的數(shù)據(jù)。
級(jí)聯(lián)操作:當(dāng)主表中的數(shù)據(jù)發(fā)生變化時(shí),會(huì)自動(dòng)觸發(fā)子表中的相應(yīng)操作(如級(jí)聯(lián)更新或級(jí)聯(lián)刪除)。
外鍵約束的語法
在 SQL 中,外鍵約束的語法如下:
ALTER TABLE [子表名稱] ADD FOREIGN KEY ([子表列名稱]) REFERENCES [主表名稱] ([主表列名稱])
登錄后復(fù)制
外鍵約束的示例
假設(shè)我們有以下兩個(gè)表:
Customers 表包含客戶信息,其中 customer_id 是主鍵。
Orders 表包含訂單信息,其中 customer_id 是外鍵,它引用 Customers 表中的 customer_id。
為了創(chuàng)建外鍵約束,我們可以使用以下 SQL 語句:
ALTER TABLE Orders ADD FOREIGN KEY (customer_id) REFERENCES Customers (customer_id)
登錄后復(fù)制
這個(gè)外鍵約束確保 Orders 表中的所有 customer_id 都對(duì)應(yīng)于 Customers 表中的有效客戶。