主键(Primary Key):
外键(Foreign Key):
主键的优势:
外键的优势:
主键类型:
外键类型:
主键的应用场景:
外键的应用场景:
问题1:为什么不能在主键上使用NULL值?
问题2:外键约束导致插入失败怎么办?
问题3:如何优化主键和外键查询?
-- 创建主键表
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)
);
-- 插入数据
INSERT INTO users (username) VALUES ('Alice');
INSERT INTO orders (user_id, order_date) VALUES (1, '2023-10-01');
-- 查询数据
SELECT * FROM users;
SELECT * FROM orders;
SELECT o.order_id, u.username, o.order_date
FROM orders o
JOIN users u ON o.user_id = u.user_id;
通过以上内容,您可以全面了解MySQL中主键和外键的概念、优势、类型、应用场景以及常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云