MySQL是一個常用的關系型數據庫管理系統,數據庫中常常會用到主鍵和外鍵。主鍵用于標識記錄的唯一性,而外鍵則用于建立表與表之間的關系。
主鍵是一種唯一性約束,是用來保證每條記錄都有唯一的標識符。在一個表中,每個記錄都有一個主鍵,而且主鍵不能重復。在MySQL中,主鍵可以是一個列,也可以是多個列的聯合組合,通常使用自動遞增的整數作為主鍵。
CREATE TABLE `students` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上面的代碼創建了一個名為students的表,其中id為主鍵,是一個自動遞增的整數。因為主鍵具有唯一性約束,所以在插入數據時,如果主鍵重復,將會返回錯誤。
外鍵是一種參照完整性約束,被用來建立表與表之間的關系。具體來說,是通過外鍵將兩個表聯系在一起。在MySQL中,外鍵通常用于實現關聯查詢,也可用于實現級聯操作。
CREATE TABLE `grades` ( `id` int NOT NULL AUTO_INCREMENT, `student_id` int NOT NULL, `score` int NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`student_id`) REFERENCES `students` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上面的代碼創建了一個名為grades的表,其中student_id為外鍵,參照了students表中的id列。這樣,在grades表中插入數據時,必須保證student_id的值存在于students表的id列中,否則將會返回錯誤。
總而言之,主鍵和外鍵是數據庫中常用的約束,它們約束了數據的唯一性和關系,使得數據庫更加規范化、易于管理。
上一篇css左邊不變