欢迎来到起航培训网!
北京
切换分站
QQ:1879460140
课程分类
    MySQL删除重复数据的方法大致有几种?
    2022-10-26发布, 次浏览 收藏 置顶 举报
MySQL删除重复数据的方法大致有几种?
  • 区域:昌平
  • 上课班制:随到随学
  • 课程类型:普通课程
  • 网报价格:¥1    课程原价:¥1
  • 咨询热线:18710030740
  • 课程详情
  • 机构简介
  • 地图信息
  • 网上报名



在使用数据库时,出现重复数据是常有的情况,但有些情况是允许数据重复的,而有些情况是不允许的,当出现不允许的情况,我们就需要对重复数据进行删除处理。那么如何删除MySQL的重复数据?删除重复数据的方法有很多种,本文为大家介绍两种最常见的方法。

方法一:防止表中出现重复数据

当表中未添加数据时,可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者UNIQUE(唯一)索引来保证数据的唯一性。

例如在学生信息表中学号no不允许重复,需设置学号no为主键,且默认值不能为NULL。

CREATE TABLE student

(

no CHAR(12) NOT NULL,

name CHAR(20),

sex CHAR(10),

PRIMARY KEY (no)

);

方法二:过滤删除重复值

对于数据表中原有的数据,想要去除重复数据需要经过重复数据查找、过滤以及删除等步骤。

1. 统计重复数据

mysql> SELECT COUNT(*) as repetitions,no

-> FROM student

-> GROUP BY no

-> HAVING repetitions > 1;

以上查询语句将返回student表中重复的记录数。

2. 过滤重复数据

如果需要读取不重复的数据可以在SELECT语句中使用DISTINCT关键字来过滤重复数据。

mysql> SELECT DISTINCT no

-> FROM student;

也可以使用 GROUP BY 来读取数据表中不重复的数据

mysql> SELECT no

-> FROM student

-> GROUP BY (no);

3. 删除重复数据

删除数据表中重复数据,可以使用以下SQL语句:

mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex);

mysql> DROP TABLE student;

mysql> ALTER TABLE tmp RENAME TO student;

也可以在数据表中添加INDEX(索引)和 PRIMAY KEY(主键)来删除表中的重复记录,方法如下:

mysql> ALTER IGNORE TABLE student

-> ADD PRIMARY KEY (no);

联系我时请说明是在起航培训网看到的,谢谢!

注意:起航培训网只是架起培训机构与学员之间的一道桥梁,帮助培训机构找学员,帮助学员找培训机构的平台,不产生金钱交易,如果你有资金往来,请及时通过电话与对方联系,调查清楚,确认无误在选择,否则造成你的损失,由自己承担,本平台概不负责,谢谢!

老男孩教育(北京一天天教育科技有限公司)于2013年在北京注册成立,专注互联网IT技术人才培训和企业内训服务,Linux云计算运维、Python开发培训的行业领军者。现已为社会输送数万名IT技术人员。 在北京、深圳均设有分校,2019年5月,同时在校面授学员3000余人,线上学员1500余人;在册员工160人,其中讲师&教研团队占60%+,已开设学科近10门,覆盖技术从业者1~8年的职业生涯需求,我们致力于成为线上、线下并驾齐驱,能够为更多有志青年提供优质、前沿IT技术学习资源的平台。 目前,从老男孩毕业的学员,就业于国内各大知名企业如小米、京东、百度、美团、头条、蓝讯,阿里、网易、新浪微博,搜狐,腾讯,汽车之家、58同城、世纪佳缘,小红书、拼多多,中国移动,中国联通、工商银行、中信证券、华夏银行等。很多早期毕业的师兄已在任职企业成长为核心技术骨干。 成立多年来,我们一直秉承保证教学质量才是硬道理的发展观,坚持做正确的事,用心帮助每一位学员通过在老男孩努力学习获得体面的工作和生活。

该机构尚未标注地图位置。

© 起航培训网 豫ICP备2026026690号-1


Fatal error: Call to undefined function makeDir() in D:\phpstudy_pro\Chengxu\vbmcms\include\cachepages.class.php on line 143