外鍵約束指定表之間必須存在引用關系,確保數據完整性、一致性和引用完整性。具體作用包括:數據完整性:外鍵值必須存在于主表中,防止非法數據的插入或更新。數據一致性:當主表數據變化時,外鍵約束自動更新或刪除相關數據,保持同步。數據引用:建立表之間關系,維護引用完整性,便于跟蹤和獲取相關數據。
SQL 外鍵約束的含義
外鍵約束是一種數據庫表之間的關系,它指定一列或一組列(外鍵)必須引用另一表(主表)的列(主鍵)。其目的是確保數據的一致性和完整性。
作用
外鍵約束有幾個主要的作用:
數據完整性:外鍵約束通過確保外鍵值在主表中存在來防止數據的插入或更新,從而維護數據完整性。
數據一致性:當主表中的數據更改時,外鍵約束會自動級聯更新或刪除相關的外鍵數據,以保持數據之間的同步。
數據引用:外鍵約束有助于建立表之間的關系并維護引用完整性,讓您輕松跟蹤和獲取相關數據。
類型
SQL 外鍵約束有兩種主要類型:
単純外鍵:外鍵引用主表的單個列。
參照外鍵:外鍵引用主表的多列。
語法
在一個 SQL CREATE TABLE 語句中,您可以使用 FOREIGN KEY 子句來定義外鍵約束。語法如下:
FOREIGN KEY (column_name) REFERENCES table_name (primary_key_column_name)
登錄后復制
其中:
column_name 是外鍵列。
table_name 是主表名。
primary_key_column_name 是主表中的主鍵列。
實例
例如,如果我們有一個名為 Orders 的表和一個名為 Products 的主表,則可以創建以下外鍵約束:
CREATE TABLE Orders ( order_id INT PRIMARY KEY, product_id INT NOT NULL, FOREIGN KEY (product_id) REFERENCES Products (product_id) );
登錄后復制
此外鍵約束確保 Orders 表中的每個 product_id 值都存在于 Products 表中。