钟二网络头像

钟二网络

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

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

sql外码定义语句

钟逸 SQL 2025-06-17 22:20:13 2

在关系型数据库系统中,外码是表之间引用关系的列,用于确保数据的完整性和一致性。SQL外码定义语句是一种命令,用于在创建或修改表时定义外码约束。

SQL外码定义语句的语法

外码定义语句的基本语法如下:

FOREIGN KEY (column_name) REFERENCES table_name (referenced_column_name) [ON DELETE action] [ON UPDATE action]

column_name 是当前表中引用外键的列名称。

table_name 是被引用的表的名称。

referenced_column_name 是被引用的表中与外键匹配的列名称。

ON DELETE action 指定在被引用的表中删除记录时所采取的操作,可以是 CASCADE(级联删除)、SET NULL(将外键列值设为 NULL)、SET DEFAULT(将外键列值设为默认值)或 RESTRICT(拒绝删除)。

ON UPDATE action 指定在被引用的表中更新记录时所采取的操作,可以是 CASCADE(级联更新)、SET NULLRESTRICT

外码约束的作用

外码约束主要有以下作用:

维护数据完整性,防止引用不存在的记录。

强制执行数据一致性,保证相关记录之间的一致性。

提高数据库性能,通过索引外键列来加速查询。

使用SQL外码定义语句的示例

以下示例演示如何使用SQL外码定义语句在两个表之间创建外码约束:

CREATE TABLE orders (

order_id INT NOT NULL AUTO_INCREMENT,

customer_id INT NOT NULL,

PRIMARY KEY (order_id),

FOREIGN KEY (customer_id) REFERENCES customers (customer_id)

);

CREATE TABLE customers (

customer_id INT NOT NULL AUTO_INCREMENT,

customer_name VARCHAR(255) NOT NULL,

PRIMARY KEY (customer_id)

);

在这个示例中,orders 表的 customer_id 列引用了 customers 表的 customer_id 列。这意味着每个订单必须与一个存在的客户关联。

文章目录
    搜索