-- 一对多
-- 1 创建主表 (分类表)
CREATE TABLE category(
cid INT PRIMARY KEY AUTO_INCREMENT,
cname VARCHAR(20)
);
-- 2 创建从表 (商品表)
CREATE TABLE products(
pid INT PRIMARY KEY AUTO_INCREMENT,
pname VARCHAR(20),
price DOUBLE ,
category_id INT -- 外键列
);
-- 3 给主表和从表之间添加外键约束
-- alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);
ALTER TABLE products ADD FOREIGN KEY(category_id) REFERENCES category(cid);
-- 4 给主表添加数据(随便添加)
INSERT INTO category VALUES (1, '电子');
INSERT INTO category VALUES (2, '服装');
-- 5 给从表添加数据(添加数据是必须依赖主表)
INSERT INTO products VALUES(NULL, '联想', 5000, 1);
INSERT INTO products VALUES(NULL, '真维斯', 300, 2);
-- 多对多的关系
-- 6 创建订单表(主表) order
CREATE TABLE orders(
oid INT PRIMARY KEY AUTO_INCREMENT,
money DOUBLE
);
-- 7 创建中间表(从表)
CREATE TABLE products_orders(
pid INT ,
oid INT
);
-- 8 给中间表建立外键约束(2次)
ALTER TABLE products_orders ADD FOREIGN KEY(pid) REFERENCES products(pid);
ALTER TABLE products_orders ADD FOREIGN KEY(oid) REFERENCES orders(oid);
-- 9 给订单表添加数据(随意)
INSERT INTO orders VALUES(1, 10000);
INSERT INTO orders VALUES(2, 8000);
INSERT INTO orders VALUES(3, 500);
-- 10 给中间表添加数据(受限)
INSERT INTO products_orders VALUES(1,1),(1,2),(2,3);
mysql ------多表操作
最新推荐文章于 2022-06-09 12:53:56 发布