外键是一种数据库表之间的关系,用于强制执行数据完整性。它通过在子表中创建指向父表中的主键的列来实现,确保子表中的每一行都与父表中的有效行关联。
创建外键
在 SQL 中创建外键涉及在子表的列定义中使用 FOREIGN KEY
约束。语法如下:
sql
ALTER TABLE 子表名称
ADD FOREIGN KEY (外键列名称)
REFERENCES 父表名称 (父表主键列名称);
示例
假设我们有两个表:用户
和 文章
。
用户
表具有以下架构:
sql
CREATE TABLE 用户(
用户ID INT PRIMARY KEY,
用户名 VARCHAR(255) NOT NULL
);
文章
表具有以下架构,并在 用户ID
列上创建外键:
sql
CREATE TABLE 文章(
文章ID INT PRIMARY KEY,
标题 VARCHAR(255) NOT NULL,
正文 TEXT NOT NULL,
用户ID INT NOT NULL,
FOREIGN KEY (用户ID) REFERENCES 用户(用户ID)
);
此外键约束确保 文章
表中的每篇文章都与 用户
表中的有效用户关联,防止在 用户
表中删除任何用户时出现孤立的 文章
记录。
好处
创建外键具有以下好处:
* 数据完整性:通过确保子表中的记录与父表中的有效记录匹配,它保持了数据的完整性和一致性。
* 级联操作:外键还可以配置为执行级联操作,例如当在父表中删除记录时自动删除相关子表记录。
* 数据查询优化:连接表的外键可以优化数据查询,通过减少表扫描和提高查询性能。