mysql ------多表操作

-- 一对多
    -- 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);
     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值