主键(Primary Key):
外键(Foreign Key):
主键的优势:
外键的优势:
主键类型:
外键类型:
主键的应用场景:
外键的应用场景:
问题1:为什么不能在主键列中插入NULL值?
问题2:为什么外键约束会导致插入或更新失败?
问题3:如何处理级联删除或更新?
ON DELETE CASCADE
或ON UPDATE CASCADE
。-- 创建用户表
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE
);
-- 创建订单表,并设置外键约束
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE
);
-- 插入数据
INSERT INTO users (username) VALUES ('Alice');
INSERT INTO orders (user_id, order_date) VALUES (1, '2023-10-01');
-- 删除用户数据,级联删除订单数据
DELETE FROM users WHERE user_id = 1;
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云