外鍵是一種數據庫關系,用于將一個表中的列與另一個表中的列關聯,以確保子表數據與主表一致。在 mysql 中使用 foreign key 約束創建外鍵,它的好處包括數據完整性、級聯操作、查詢優化和數據建模。
MySQL 外鍵
外鍵是什么意思?
外鍵是一種數據庫關系類型,用于將一個表(子表)中的列與另一個表(主表)中的列關聯。它確保子表中的數據與主表中相應數據一致。
如何使用外鍵?
在 MySQL 中,可以使用 FOREIGN KEY 約束創建外鍵。FOREIGN KEY 約束指定子表中的列與主表中的列之間的關系。
CREATE TABLE sub_table ( id INT NOT NULL, main_table_id INT NOT NULL, FOREIGN KEY (main_table_id) REFERENCES main_table(id) );
登錄后復制
上述示例中,sub_table 中的 main_table_id 列是外鍵,它引用 main_table 表中的 id 列。這意味著 sub_table 中的每一行都必須具有 main_table 中存在且唯一的 id 值。
外鍵的好處
使用外鍵的好處包括:
數據完整性:外鍵確保子表中的數據與主表中相應數據一致。
級聯操作:當在主表中更改記錄時,數據庫可以自動更新或刪除子表中的相關記錄。
查詢優化:外鍵可以幫助數據庫優化查詢,因為它利用索引查找相關數據。
數據建模:外鍵是關系數據庫數據建模的關鍵部分,有助于創建邏輯一致的表關系。