4-MySQL拆分表
2024-09-05 09:12:11
如上图,将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表
最新文章
- python 实现树结构的打印
- 部署应用程序QQ
- Mongodb使用总结
- 乐在其中设计模式(C#) - 提供者模式(Provider Pattern)
- 27. Remove Element - 移除元素-Easy
- IIS部署网站时常见问题解决
- ProxySQL 读写分离实践
- 解决 HomeBrew 下载缓慢的问题
- Flask-Login用户登陆
- web框架实现购物车数量加减
- VMware下centos7安装
- mongodb认识
- ext与xfs文件系统比较与总结
- jqGrid 加载完jqGrid之后可以执行函数的方法
- jquery源码学习-初始(1)
- opencv 将视频分解成图片和使用本地图片合成视频
- [JSOI2007]字符加密 后缀数组
- centos下搭建DNS
- .NET Framwork 之 托管代码的执行过程
- 关于Maven项目install时出现No compiler is provided in this environment的处理
热门文章
- 关于“Unknown or unsupported command 'install'”问题解决的小结
- docker集群故障迁移
- eclipse spring boot 项目出现java.lang.ClassCastException 解决方法
- Dubbo入门到精通学习笔记(十二):Dubbo消费端直连提供者(开发调试)、Dubbo服务只订阅(开发调试)、Dubbo服务只注册
- Linux内存管理(深入理解Linux内核)
- 拾遗:YouCompleteMe 前传——编译安装 llvm + clang
- JDK8新特性之方法引用
- C# WinfForm 控件之dev报表 XtraReport (七)报表合并
- 48-Ubuntu-系统信息-3-查看进程命令
- 第十一篇 session和cookie自动登录机制