在mysql中,主鍵和外鍵是常用的兩種約束,它們可以用來定義表格之間的關系,使得表格間的數據互相關聯。下面將介紹如何在mysql中創建帶有主鍵和外鍵的表。
CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT );
上面的代碼創建了一個名為student的表,它有一個整型的主鍵id,一個非空的字符串類型名稱name和一個整型的年齡age。
CREATE TABLE course ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, credit INT );
上面的代碼則創建了一個名為course的表,它同樣有一個整型的主鍵id,一個非空的字符串類型名稱name和一個整型的學分credit。
ALTER TABLE student ADD CONSTRAINT fk_course_id FOREIGN KEY (course_id) REFERENCES course(id);
上面的代碼為student表添加了一個外鍵course_id,它的值必須參照course表的id值。
在mysql中,當一個表格參照另一個表格的主鍵時,它就被稱為從表格,而被參照的表格就被稱為主表格。若在從表格中定義了外鍵,那么這個外鍵就必須參照主表格的主鍵。
CREATE TABLE score ( student_id INT, course_id INT, score INT, PRIMARY KEY(student_id, course_id), FOREIGN KEY(student_id) REFERENCES student(id), FOREIGN KEY(course_id) REFERENCES course(id) );
上面的代碼創建了一個名為score的表,它有一個復合主鍵student_id和course_id,每個字段都是整型的。同時,它參照了student表和course表中的主鍵,并定義了它們自己的外鍵student_id和course_id。
在建立主鍵和外鍵約束時,需要注意一些限制條件。比如,一張表格最多只能有一個主鍵,而任何兩個表格的主鍵必須是唯一的、不可為null和單值的。在定義外鍵時,參照主表格的主鍵必須存在索引,否則會影響插入和查詢速度。
上一篇div 添加html代碼
下一篇jquery li的索引