ZKX's LAB

mysql 删除重复数据 mysql如何删除重复数据

2021-04-23知识9

怎么删除重复的Mysql数据? MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表1 create table tmp3 as select min(id)as col1 from data_content_152 group by SFZHM;第二步:创建新表RES1234 CREATE TABLE `res`(`id` int(11),`sfz` char(20))ENGINE=MyISAM;第三步:把TMP3表ID对应到data_content_152里需要提取的数据添加到RES表的SFZ字段1 INSERT INTO res(sfz)SELECT sfzhm FROM data_content_152,tmp3 where data_content_152.id=tmp3.col1至此,就在MYSQL里实现了,给数据表data_content_152完全删除重复数据,把去重复后的数据导入到RES表。

sql 如何删除重复数据,有时候我们在使用ql数据库的时候,想去掉重复数据,怎么去掉呢,下面来分享一下方法

mysql 多个表重复的数据怎么删除 通常情况下,一个我们在做一个产品的时候,一开始可能由于设计考虑不周或者程序写的不够严谨,某个字段上的值产生重复了,但是又必须去掉,这个时候就稍微麻烦了一点,直接加一个 UNIQUE KEY 肯定是不行了,因为会报错。现在,我们来采用一种变通的办法,不过可能会丢失一些数据:)在这里,我们设定一个表,其结构如下:mysql>;desc `user`;Field|Type|Null|Key|Default|Extra|id|int(10)unsigned|NO|PRI|NULL|auto_increment|name|char(10)|NO|extra|char(10)|NO|原来表中的数据假定有以下几条:mysql>;SELECT*FROM `user`;id|name|extra|1|user1|user1|2|user2|user2|3|user3|user3|4|user4|user4|5|user5|user5|6|user3|user6|7|user6|user7|8|user2|user8|9|USER2|user9|10|USER6|user10|1、将原来的数据导出mysql>;SELECT*INTO OUTFILE '/tmp/user.txt' FROM `user`;2、清空数据表mysql>;TRUNCATE TABLE `user`;3、创建唯一索引,并且修改 `name` 字段的类型为 BINARY CHAR 区分大小写mysql>;ALTER TABLE `user` MODIFY `name` CHAR(10)BINARY NOT NULL DEFAULT '';mysql>;ALTER TABLE `user` ADD UNIQUE KEY(`name`);现在来看看新的表结构:。

随机阅读

qrcode
访问手机版