📅  最后修改于: 2023-12-03 15:23:42.907000             🧑  作者: Mango
外键(Foreign Key)是关系型数据库中的一种约束。外键建立在两个表格之间的关系上,它指向另一个表格的主键,用来维护表格之间的一致性和完整性。
使用外键需要在创建表格时设定。在MySQL数据库中,设定外键需要使用FOREIGN KEY
关键字:
CREATE TABLE 表格名称 (
列1 数据类型,
...
列n 数据类型,
FOREIGN KEY (列m) REFERENCES 另一个表格名称(另一个表格的主键名称)
);
例如,在创建一个订单表格时,我们需要在订单详情表格中引用“订单编号”这个字段。我们可以使用以下代码创建订单详情表格:
CREATE TABLE 订单详情 (
商品编码 INT,
商品名称 VARCHAR(20),
数量 INT,
订单编号 INT,
FOREIGN KEY (订单编号) REFERENCES 订单(订单编号)
);
这样,我们就在订单详情表格中设定了一个外键,它指向了订单表格的主键“订单编号”。
外键的作用主要有以下几点:
保证数据的一致性和完整性:使用外键可以确保在表格之间建立正确的关系,避免数据异常和冗余的情况发生。
提高数据查询的效率:使用外键可以建立表格之间的关联关系,从而让数据查询更加高效。
便于管理数据:使用外键可以用较少的时间和资源管理大量的数据。
外键约束是一种限制性条件,它指定了从一个表格到另一个表格的关系。在MySQL数据库中,外键约束有以下几种类型:
ON DELETE CASCADE
: 当外键所在的行被删除后,其所在表格中的所有与之关联的行也会被删除。
ON DELETE RESTRICT
: 当外键所在的行被删除后,其所在表格中的所有与之关联的行不会被删除,但要求在进行删除操作时必须先删除该行。
ON DELETE SET NULL
: 当外键所在的行被删除后,其所在表格中的所有与之关联的行的外键值将被设置为NULL
。
ON DELETE NO ACTION
: 当外键所在的行被删除后,其所在表格中的所有与之关联的行不会被删除,也不会被设置为NULL
。
外键是一种关系型数据库的约束,用来确保数据的一致性和完整性。使用外键可以建立表格之间的关系,提高数据查询的效率,便于管理数据。在MySQL数据库中,外键有多种约束类型,可以根据实际需求进行选择。