全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 461|回复: 7

【已解决】如何给mysql瘦身,去重复内容只保留一个?

[复制链接]
发表于 2020-4-21 17:09:04 | 显示全部楼层 |阅读模式
本帖最后由 Hellonet 于 2020-4-21 18:42 编辑

百度搜索到的命令看不懂,所以来请教万能的MJJ,希望能得到大佬们的帮助,谢谢!

一个数据库 名为 mydata
mydata 里面有 6个表 分别是 mydata1 mydata2 mydata3 mydata4 mydata5 mydata6

而这6张表里面的字段(栏位)都是一样的,共6个栏位,分别是

bookId (这个bookid的数字是不会重复的,用于主键)
bookTypeid (数据有重复)
bookName (数据有重复)
bookNote (数据有重复)
bookAuthor (数据有重复)
bookMoney (数据有重复)

需要实现去重复,由于bookid是1~N,不会发生重复问题。
而其他的几个栏位存在一些完全相同的内容,我只需保留一个就可以了。

例如:
mydata1这个表里面出现多个重复内容 如:
bookId |bookTypeid |bookName |bookNote |bookAuthor |bookMoney
1            abcd              123               456               789                  aaaa
30            abcd              123               456               789                  aaaa
97            abcd              123               456               789                  aaaa
....
....


mydata5(mydata*)这个表里面也出现了多个相同内容,如:
bookId |bookTypeid |bookName |bookNote |bookAuthor |bookMoney
7            abcd              123               456               789                  aaaa
88            abcd              123               456               789                  aaaa
1009            abcd              123               456               789                  aaaa
....
....

表里面 几个栏目的内容除了bookid内容不同,其他栏目的内容都是完全一致的。

所以请教一下如何给数据库瘦身,删除重复数据只保留一个呢?谢谢!

 楼主| 发表于 2020-4-21 17:12:35 | 显示全部楼层
在百度上搜索到的内容是删除一个栏目中重复的内容
我的需求是删除 6个栏目中,除bookid外5个栏目的所有相同内容,所以不知道命令怎么写,瞬间留下没技术的眼泪
发表于 2020-4-21 17:16:21 | 显示全部楼层
你6个表mydata1到mydata6 是要合并数据一起去重 还是只要每个表 表内做好去重
发表于 2020-4-21 17:16:58 | 显示全部楼层
最蠢的方法,自己写个脚本跑一下就是咯,查出来所有数据,然后遍历,拿值去like,如果查到超过一行,则删除和当前遍历值id不相符的所有行,写代码10分钟,跑脚本时间看数据量
 楼主| 发表于 2020-4-21 17:19:35 | 显示全部楼层
傍晚升起的太阳 发表于 2020-4-21 17:16
最蠢的方法,自己写个脚本跑一下就是咯,查出来所有数据,然后遍历,拿值去like,如果查到超过一行,则删除 ...

数据有点多啊~~ 我上谷歌先找找
发表于 2020-4-21 17:21:54 | 显示全部楼层
Hellonet 发表于 2020-4-21 17:19
数据有点多啊~~ 我上谷歌先找找

能有多少数据啊。。。。。千万级数据拿go去写,有索引的话,数据库不是太烂,半小时内都可以跑的完
发表于 2020-4-21 17:54:37 | 显示全部楼层
新创建一个表,把(|bookTypeid |bookName |bookNote |bookAuthor |bookMoney) 加上唯一约束,把数据导入就可以了
 楼主| 发表于 2020-4-21 18:10:18 | 显示全部楼层
proc 发表于 2020-4-21 17:54
新创建一个表,把(|bookTypeid |bookName |bookNote |bookAuthor |bookMoney) 加上唯一约束,把数据导入 ...

意思是通过导入数据来去除重复对吗?这样也不错,只是麻烦了一点

目前找到这个,还算看得明白,正在用测试数据测试,也怕误删等问题
https://blog.csdn.net/Lxinccode/article/details/98599006
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-20 05:44 , Processed in 0.060621 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表