在MySQL數據庫中,主鍵和外鍵是非常重要的概念,它們在確保數據庫數據完整性和關系三范式方面起著至關重要的作用。
主鍵是一種用于定義表中每一行數據唯一性的約束條件。在一個表中,一條數據必須至少有一個主鍵,且這個主鍵不可為空。在 MySQL 中,我們可以通過使用 PRIMARY KEY 關鍵字加在表字段前面來定義主鍵。
CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT );
在上面的代碼中,我們定義了一個 student 表,它的主鍵字段是 id,這個字段不為空且保證每個數據的唯一性。
與主鍵類似,外鍵是用于建立表之間關系的一種約束條件。它定義了兩個表之間的父子關系,可以確保數據關系的完整性。在 MySQL 中,我們可以通過使用 FOREIGN KEY 關鍵字來定義外鍵。
一個表的外鍵只能引用到另一個表的主鍵,這種關系稱之為引用完整性。一個表可以存在多個外鍵,但每個外鍵不能引用同一個表中的同一個主鍵。下面的代碼展示了如何在兩個表之間定義外鍵。
CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, class_id INT ); CREATE TABLE class ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL ); ALTER TABLE student ADD FOREIGN KEY (class_id) REFERENCES class(id);
在上面的代碼中,我們定義了兩個表:student 和 class。然后,我們通過 ALTER TABLE 語句將 student 表中的 class_id 列定義為外鍵,它引用了 class 表中的 id 列。這樣,我們就建立了 student 和 class 之間的關系。
上一篇mysql命令說明