首页 > 数据库 >mysql 删除表中重复的数据

mysql 删除表中重复的数据

时间:2024-04-11 12:15:01浏览次数:35  
标签:空表 删除 重复 表中 索引 mysql 数据

今天准备将有个表的指定2个字段设置成唯一约束索引,结果发现表中竟然存在重复数据的情况,

于是就想着怎么删除重复的数据,最开始是网上找的方法,找到了几个方法,要么巨麻烦,要么巨慢,

后来实在不行了,自己想了个办法,感觉挺好用的,具体思路是

1,先创建该正式表的相同结构的空表

2,然后给这个空表设置唯一约束索引Unique

3,然后把空表改成正式表的名称,同时把正式表改个别的名字

4,然后执行insert ignore into table SELECT * from table_1;语句,这样就能把正式表的数据插入到空表中,但是由于空表设置了唯一约束索引,因此索引重复的数据就会忽略,最终插入的数据都是不重复的数据了

这个方式可能有局限性,如果单条数据较大且总数据条数太多,可能就会很慢

标签:空表,删除,重复,表中,索引,mysql,数据
From: https://www.cnblogs.com/luludongxu/p/18128746

相关文章

  • 【附源码】JAVA计算机毕业设计小型家政服务管理系统的设计与实现(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着社会的快速发展和人们生活节奏的加快,家政服务行业应运而生,并迅速发展壮大。越来越多的家庭开始聘请家政人员来帮助处理家庭日常事务,如清洁、烹饪、......
  • 使用java代码删除nexus maven仓库中的jar包和pom.xml等组件
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • openGauss1.1.0主备集群节点的添加和删除
    openGauss1.1.0主备集群节点的添加和删除在上一篇文章《openGauss1.1.0主备部署(1主+2备+1级联备)》中,我们已经搭建了常见于生产环境的数据库架构(1主2备1级联备),如下图所示:本文将基于已搭建的主备环境进行集群节点的删除和添加操作,希望相关操作内容对大家有所帮助。......
  • java计算机毕业设计基于微信小程序的书籍销售系统【附源码+远程部署+程序+mysql】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着移动互联网技术的飞速发展,智能手机用户数量急剧增加,人们获取信息和进行日常交易的方式正逐步向移动端转移。微信作为中国最流行的社交通讯软件,其推出......
  • pymysql模块
    pymysql模块基本语法#(1)创建连接对象hostuserpassworddatabase这四个参数必写conn=pymysql.connect(host="127.0.0.1",user="root",password="123456",database="db003",charset="utf8",port=3306)#(2)创建游标对象(......
  • MySQL分组查询以及having筛选
    DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyint(......
  • MySQL 06 mysql 如何实现类似 oracle 的 merge into
    拓展阅读MySQLViewMySQLtruncatetable与delete清空表的区别和坑MySQLRulermysql日常开发规范MySQLdatetimetimestamp以及如何自动更新,如何实现范围查询MySQL06mysql如何实现类似oracle的mergeintoMySQL05MySQL入门教程(MySQLtutorialbook)MySQL04-E......
  • mysql查询某条记录所在的行号
    有时候我们想知道某条记录在表中的多少行,这样我们就可以开始继续上一次的任务了。下面是SQL,可以直接执行,把表名改成自己真实的表名就好了,还得注意下子查询的排序,也得按自己真实需求来即可:SET@row_number=0;SELECTindex_positionFROM(SELECTauthor_id,@row_number:=@r......
  • mysql查询锁表和是否表锁
    #查询是否有锁表SHOWOPENTABLESFROM数据库WHEREin_use>0#查询被锁的表SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCKS;#查询进程showprocesslist;#杀死进程killxx;#查看正在锁的事务select*frominformation_schema.INNODB_LOCKS;#杀死进程id(就是[se......
  • (mysql)根据时间段获取连续日期,通过左连接便于每日统计
    代码:SELECTDATE_ADD(start_date,INTERVAL(a.a+(10*b.a)+(100*c.a))DAY)AS`date`FROM(SELECT'2024-02-24'ASstart_date,'2024-03-11'ASend_date)ASinputCROSSJOIN(SELECT0ASaUNIONALLSELECT1UNIONALLSELECT2UNIO......