您用FOREIGN KEY表示什么,我们如何在MySQL表中使用它?

实际上,FOREIGN KEY是一列或列的组合,可用于在两个表中的数据之间设置链接。换句话说,我们可以说FOREIGN KEY约束与两个表有关。它也用于增强数据完整性,因为表的PRIMARY KEY链接到其他表的FOREIGN KEY。

语法

FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);

这里的REFERENCES是一个关键字;column_name是要设置FOREIGN KEY的列的列表;具有主键的表是包含主键的表的名称;column_name是设置了PRIMARY KEY的列的列表。

示例

假设我们有两个表“ Customer”和“ Orders”。可以通过字段“ Cust_Id”指定的表“ orders”中的外键建立两个表之间的关系。创建两个表的查询如下-

mysql> Create Table Customer(Cust_ID int Primary Key, First_name Varchar(20), Last_name  Varchar(20), City Varchar(10));

mysql> Create Table Orders(Order_Id Int Primary Key, Product_Name Varchar(25), Orderdate DATE, Cust_ID Int, FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id));

mysql> Describe Orders;

+--------------+-------------+------+-----+---------+-------+

| Field        | Type        | Null | Key | Default | Extra |

+--------------+-------------+------+-----+---------+-------+

| Order_Id     | int(11)     | NO   | PRI | NULL    |       |

| Product_Name | varchar(25) | YES  |     | NULL    |       |

| Orderdate    | date        | YES  |     | NULL    |       |

| Cust_ID      | int(11)     | YES  | MUL | NULL    |       |

+--------------+-------------+------+-----+---------+-------+

4 rows in set (0.04 sec)

在这里,表“ Customer”被称为父表或引用表,而表“ Orders”被称为子表或引用表。子表中的一行必须包含父表中存在的值。例如,表“ orders”中的每一行必须具有“ customer”表中存在的“ Cust_Id”。

以上是 您用FOREIGN KEY表示什么,我们如何在MySQL表中使用它? 的全部内容, 来源链接: utcz.com/z/360519.html

回到顶部