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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40667484/article/details/87873620

重复之前的操作,把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条(架构师是怎么养成的)
在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40667484/article/details/87873620