MySQL外鍵是一種用來建立表與表之間關系的約束規則。這個約束規則會強制執行關系完整性,以確保數據一致性。
在使用外鍵之前,我們需要先了解一些基礎概念:
CREATE TABLE 表名 ( 列1名 列1的類型, 列2名 列2的類型, …… PRIMARY KEY (主鍵名) )
以上是創建表的基本語法,其中主鍵用來唯一標識一條記錄。下面我們來看外鍵的語法:
CREATE TABLE 子表名 ( 列1名 列1的類型, 列2名 列2的類型, …… FOREIGN KEY (外鍵名) REFERENCES 父表名(父表主鍵名) )
以上是創建子表的基本語法,其中外鍵和父表的主鍵建立關聯,以確保數據的完整性。在刪除或修改父表的主鍵時,外鍵會起到限制作用,以防止數據的異常。
下面是一個示例,我們創建了兩張表,學生表和班級表。學生表中的class_id列是外鍵,關聯了班級表的id列。
CREATE TABLE class( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL ); CREATE TABLE student( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT NOT NULL, class_id INT NOT NULL, FOREIGN KEY (class_id) REFERENCES class(id) );
在以上示例中,學生表的class_id列建立了外鍵引用。這意味著當我們在刪除或修改班級表中一個主鍵時,這些關聯的外鍵約束也會被執行。
以上是MySQL外鍵引用的基本用法。通過使用外鍵,我們可以在表與表之間建立一個約束關系,以確保數據的完整性。