mysql与pyhton交互三:由一个整表拆为多个表(实际开发过程)

重复之前的操作,把brand_name改成brand_id并形成外键

1.分析并设计表(方便,快捷的表设计)
2.创建分表并把主表数据传到分表当中
3.同步表思想将主表数据更新
4.修改表结构
5.设置外键(实际开发不适用)

2.创建分表并把主表数据传到分表当中

create table goods_brands(
id int unsigned primary key auto_increment,
name varchar(255) not null
);
insert into goods_brands(name) select brand_name from goods group by brand_name;

3.同步表思想将主表数据更新

update goods as a inner join goods_brands as b on a.brand_name=b.name set a.brand_name=b.id;

4.修改表结构

alter table goods change brand_name brand_id int unsigned not null;

5.设置外键

alter table goods add foreign key(brand_id) references goods_brands(id);

查看外键

show create table goods;

如图:
在这里插入图片描述但是在实际开发过程中,我们应当不使用或者尽量少使用外键。
因为当数据过大的时候,使用外键效率会非常的低


删除外键

alter table goods drop foreign key goods_ibfk_1;
alter table goods drop foreign key goods_ibfk_2;

在这里插入图片描述


附上数据库开发的军规30条(架构师是怎么养成的)
在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值