mysql查询出所有重复的记录 mysql找出重复数据( 三 )


查询待删除的重复数据SQL如下:
select * from user_info as a where a.id <> ( selectmin(b.id)from user_info as bwhere a.name = b.name and a.sex = b.sex and a.age = b.age);删除重复数据的SQL语句如下:
delete a.* from user_info as awhere a.id <> ( selectmin(b.id) from (select * from user_info ) as b where a.`name`= b.`name` and a.sex = b.sex and a.age = b.age);总结以上是对于MySQL中重复数据删除的时候,经常使用的方法 。对于其他数据库中存在的重复数据,删除的思路也是这些,只是具体到SQL语句的写法可能稍有稍有差异 。只要你掌握了思路,具体到SQL语句的写法,尝试几次就可以成功 。
以上,希望能帮助到你 。
最后提醒一点: 在真正删除之前,记得对原数据备份一下 。以便删除错误后,数据不能恢复回来 。可以使用如下的语句来创建一个备份表,以便于在删除错误后,把数据恢复到原来的表中去 。
create table user_info_bak as select * from user_info; --创建一个备份表truncate table user_info; -- 清空原始表中的数据insert into user_info select * from user_info_bak; -- 从备份表中把数据插入到原始表中像上面这样操作,数据如果删除失误的时候,可以从user_info_bak中还原数据到user_info表中 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: