在MySQL中,我們有時需要創建一個表,并且需要引用其他表中的數據。這個時候,我們可以使用外鍵來實現這個功能。
外鍵是指一個表中的一列(或一組列),它的值必須在另一個表的一列(或一組列)中存在。在這種情況下,這個被引用的表被稱為主表(或父表),而這個引用其他表的表被稱為從表(或子表)。
下面是一個創建一個從表,引用主表數據的示例:
CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL ) ENGINE=InnoDB; CREATE TABLE scores ( id INT NOT NULL PRIMARY KEY, student_id INT NOT NULL, course VARCHAR(50) NOT NULL, score INT NOT NULL, FOREIGN KEY (student_id) REFERENCES student(id) ) ENGINE=InnoDB;
在上面的代碼中,我們首先創建了一個主表,名為“student”,它有三列數據:id、name和age。
接著,我們創建了一個從表,名為“scores”,它有四列數據:id、student_id、course和score。在這個表中,“student_id”列被定義為外鍵,并且它引用“student”表的“id”列。
這里我們使用“FOREIGN KEY”關鍵字來定義外鍵,“REFERENCES”關鍵字用于指定被引用的主表,以及被引用的主表中用作外鍵的列名。
當我們插入數據到“scores”表中時,MySQL會自動檢查數據是否符合外鍵的約束條件,如果違反了這個條件,我們將無法插入數據。
以上是關于在MySQL中創建表引用其他表數據的簡單介紹,使用外鍵可以幫助我們更好地管理表之間的關聯關系,提高數據庫的存儲效率。