zoukankan      html  css  js  c++  java
  • 4-MySQL拆分表

    如上图,将goods表中的cate_name字段拆分一个商品分类表goods_cates,步骤如下:

    1,创建商品分类表-goods_cates;

    create table goods_cates(
    
    id int unsigned primary key auto_increment,
    
    name varchar(40) not null
    );

    2,将goods表数据根据字段cate_name分组,将分组后的商品种类信息添加到goods_cates表;

    注: 这里insert into 语句没有values 关键字!

    insert into goods_cates (name) select cate_name from goods group by cate_name;

    3,同步表数据-使用goods_cates表的id字段数据更新goods表的cate_name字段数据;

    update goods as g inner join goods_cates as c on g.cate_name=c.name set g.cate_name=c.id;

    4,将goods表的cate_name字段修改为cate_id,并修改数据类型属性与goods_cates表的id字段的数据类型属性一致;

    alter table goods change cate_name cate_id int unsigned not null;

    5,在goods表中添加外键(foreign key)

    外键约束:对数据的有效性进行验证
    关键字: foreign key,只有 innodb数据库引擎 支持外键约束

    在实际开发中,很少会使用到外键约束,会极大的降低表更新的效率

    alter table goods add foreign key(cate_id) references goods_cates(id);

    拆分后的goods表

    拆分后的goods_cates表

  • 相关阅读:
    自考新教材-p282
    p281
    自考新教材-p279_2
    用jmap分析java程序
    用jstack工具分析java程序
    java应用maven插件动态生成webservice代码
    Java对信号的处理
    【OracleDB】 01 概述和基本操作
    【Oracle】Windows-19C 下载安装
    【Hibernate】06 查询API
  • 原文地址:https://www.cnblogs.com/summer1019/p/11046143.html
Copyright © 2011-2022 走看看