外键是数据库中的一个字段,它引用另一个表中的主键。外键用于建立表之间的关系,从而确保数据的完整性和一致性。
**创建外键语句
**在 SQL 中,可以使用以下语法创建外键约束:
sql
ALTER TABLE 子表 ADD FOREIGN KEY (外键列) REFERENCES 主表 (主键列)
其中:
* **子表**:要添加外键的表
* **外键列**:子表中的列,它将引用主表中的主键
* **主表**:包含主键的表
* **主键列**:主表中的主键列
**示例
**假设我们有两个表:**订单表**和**产品表**。
**订单表**:
| 列名 | 数据类型 | 主键 |
|---|---|---|
| 订单号 | INT | 是 |
| 产品号 | INT | 否 |
**产品表**:
| 列名 | 数据类型 | 主键 |
|---|---|---|
| 产品号 | INT | 是 |
| 产品名称 | VARCHAR(50) | 否 |
要确保订单表中的产品号字段只引用产品表中的有效产品号,我们可以创建以下外键约束:
sql
ALTER TABLE 订单表 ADD FOREIGN KEY (产品号) REFERENCES 产品表 (产品号)
**
外键的优点
**使用外键有以下优点:
* **数据完整性:**外键通过确保子表中的外键列值始终对应于主表中的主键值来维护数据完整性。
* **级联更新:**当主表中的主键值更改时,外键约束会自动在引用它的子表中更新外键值。
* **级联删除:**当主表中的记录被删除时,外键约束会自动在引用它的子表中删除所有相关记录。