在MySQL中,外键(Foreign Key)是一种数据库约束,用于建立两个表之间的联系。外键约束能确保数据的引用完整性,即只有在被引用的表(父表)中存在的值才能被插入到含有外键的表(子表)中。
ALTER TABLE child_table
ADD CONSTRAINT fk_name
FOREIGN KEY (child_column)
REFERENCES parent_table(parent_column);
child_table
是子表的名称。fk_name
是外键约束的名称,可以自定义。child_column
是子表中作为外键的列名。parent_table
是父表的名称。parent_column
是父表中被引用的列名。假设有两个表,一个是students
(学生),另一个是classes
(班级)。每个学生都属于一个班级,因此students
表中的class_id
列应该是classes
表中id
列的外键。
-- 创建班级表
CREATE TABLE classes (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
-- 创建学生表,并添加外键约束
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
class_id INT,
FOREIGN KEY (class_id) REFERENCES classes(id)
);
外键常用于具有“一对多”关系的表之间,例如学生与班级、订单与客户等。
请注意,数据库设计应根据具体应用场景来定,外键的使用也需要谨慎考虑其对性能和数据完整性的影响。
领取专属 10元无门槛券
手把手带您无忧上云