📅  最后修改于: 2023-12-03 15:07:44.564000             🧑  作者: Mango
在关系型数据库中,我们经常需要使用主键和外键来描述表与表之间的关系。主键作为唯一标识符,可以在表中快速查找和更新记录。而外键则用于连接两个表,从而形成数据之间的关系。
下面是在 MySQL/MariaDB 中创建带有主键和外键的表的示例 SQL 代码:
-- 创建相应的表
CREATE TABLE `orders` (
`order_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`customer_id` INT UNSIGNED NOT NULL,
`order_date` DATE NOT NULL,
PRIMARY KEY (`order_id`),
FOREIGN KEY (`customer_id`) REFERENCES `customers`(`customer_id`)
);
CREATE TABLE `customers` (
`customer_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`customer_name` VARCHAR(30) NOT NULL,
PRIMARY KEY (`customer_id`)
);
上述 SQL 代码创建了两个表:orders
和 customers
。orders
表中有一个自增的主键 order_id
,一个无符号的整数 customer_id
,一个日期 order_date
,以及一个指向 customers
表的外键。customers
表中有一个自增的主键 customer_id
,和一个必填的客户名 customer_name
。
在 orders
表中,FOREIGN KEY (
customer_id) REFERENCES
customers(
customer_id)
创建的外键指向了 customers
表的主键 customer_id
。这表示 orders
表中的 customer_id
列只能包含 customers
表中存在的值。
在实际开发中,合理使用主键和外键可以提高数据的完整性和安全性,并可以更有效地进行数据查询和存储。