Hellonet 大佬有话说 :
如何给mysql瘦身,去重复内容只保留一个?
百度搜索到的命令看不懂,所以来请教万能的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内容不同,其他栏目的内容都是完全一致的。
所以请教一下如何给数据库瘦身,删除重复数据只保留一个呢?谢谢!
Hellonet 大佬有话说 :
在百度上搜索到的内容是删除一个栏目中重复的内容
我的需求是删除 6个栏目中,除bookid外5个栏目的所有相同内容,所以不知道命令怎么写,瞬间留下没技术的眼泪
Cstudent 大佬有话说 :
你6个表mydata1到mydata6 是要合并数据一起去重 还是只要每个表 表内做好去重
傍晚升起的太阳 大佬有话说 :
最蠢的方法,自己写个脚本跑一下就是咯,查出来所有数据,然后遍历,拿值去like,如果查到超过一行,则删除和当前遍历值id不相符的所有行,写代码10分钟,跑脚本时间看数据量
Hellonet 大佬有话说 :
傍晚升起的太阳 大佬有话说 : 2020-4-21 17:16
最蠢的方法,自己写个脚本跑一下就是咯,查出来所有数据,然后遍历,拿值去like,如果查到超过一行,则删除 …
数据有点多啊~~ 我上谷歌先找找
傍晚升起的太阳 大佬有话说 :
Hellonet 大佬有话说 : 2020-4-21 17:19
数据有点多啊~~ 我上谷歌先找找
能有多少数据啊。。。。。千万级数据拿go去写,有索引的话,数据库不是太烂,半小时内都可以跑的完