在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)
);外键常用于具有“一对多”关系的表之间,例如学生与班级、订单与客户等。
请注意,数据库设计应根据具体应用场景来定,外键的使用也需要谨慎考虑其对性能和数据完整性的影响。
没有搜到相关的文章