钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读1316741
首页 SQL 正文内容

sql中fk代表什么

钟逸 SQL 2025-05-02 23:45:46 21

在关系型数据库中,外键(FK)是一个指向另一个表中主键的列。它建立两个表之间的关系,并将子表中的记录与父表中的记录相关联。

FK的用途

外键的主要用途是:

维护数据完整性:防止子表中存在孤立记录,即没有在父表中找到匹配记录的记录。

实现级联操作:当父表中的记录被删除或更新时,自动删除或更新与之关联的子表记录。

创建数据关系:通过外键,可以在多个表之间建立复杂的数据模型,以表示现实世界中的实体和关系。

FK的创建

在SQL中,可以使用ALTER TABLE语句或CREATE TABLE语句来创建外键。以下示例展示了在子表Customers中创建指向父表Orders的主键的FK:

sql

ALTER TABLE Customers

ADD FOREIGN KEY (order_id) REFERENCES Orders(order_id);

FK的类型

根据外键列和父表主键之间的关系,外键可以分为以下类型:

**一对一 (1:1)**:一个子表记录只能与一个父表记录关联。

**一对多 (1:M)**:一个子表记录可以与多个父表记录关联,但一个父表记录只能与一个子表记录关联。

**多对多 (M:N)**:一个子表记录可以与多个父表记录关联,而一个父表记录也可以与多个子表记录关联。

FK的约束

外键可以使用约束来确保数据完整性。以下是一些常见的FK约束:

**ON DELETE CASCADE**:当父表中的记录被删除时,自动删除与之关联的所有子表记录。

**ON UPDATE CASCADE**:当父表中的记录被更新时,自动更新与之关联的所有子表记录。

**ON DELETE SET NULL**:当父表中的记录被删除时,将子表中的外键列设置为NULL。

**ON UPDATE SET NULL**:当父表中的记录被更新时,将子表中的外键列设置为NULL。

文章目录
    搜索