广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库中怎么处理重复的数据
  • 358
分享到

MySQL数据库中怎么处理重复的数据

mysql 2022-10-18 18:10:22 358人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Mysql数据库中怎么处理重复的数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法一:防止出现重复数据也就是说我们再设计表的

这篇文章将为大家详细讲解有关Mysql数据库中怎么处理重复的数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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

也就是说我们再设计表的时候,就应该对这些数据设置一个UNIQUE  索引,在插入的时候就可以保证其唯一性,也就不存在有重复的数据了。当然你也可以直接设置为PRIMARY  KEY(主键)。效果也是一样的。我们看一个案例:下表中无索引及主键,所以该表允许出现多条重复记录。

CREATE TABLE student (     first_name CHAR(20),     last_name CHAR(20),     sex CHAR(10) );

目前first_name,last_name是可以重复的,如果不想重复这里有两个解决办法:

1、设置双主键模式

CREATE TABLE student (    first_name CHAR(20) NOT NULL,    last_name CHAR(20) NOT NULL,    sex CHAR(10),    PRIMARY KEY (last_name, first_name) );

现在就无法插入重复数据了。

2、添加unique索引

CREATE TABLE student (    first_name CHAR(20) NOT NULL,    last_name CHAR(20) NOT NULL,    sex CHAR(10)    UNIQUE (last_name, first_name) );

这两种看起来形式好像有一点区别,但是能起到相同的作用。此时我们可以插入两条重复的数据,会发现报错。当然我们还可以在数据库中去验证一下:

SELECT COUNT(*) as repetitions, last_name, first_name        FROM student        GROUP BY last_name, first_name        HAVING repetitions > 1;

在这里我们统计的是 first_name 和 last_name的重复记录数,上面已经用两种方法设置了,这里肯定就是0了。

方法二:在插入时指定能否插入重复数据

在这里我们使用的是Insert ignore into 与Insert into指令。

(1)Insert ignore  into会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

(2)Insert into则直接相反,会直接插入数据,不管数据库里面是否含有重复数据。

我们还是举例说明:

insert ignore into student (last_name, first_name) values ( '张三', '李四'); //结果 Query OK, 1 rows affected (0.00 sec) insert ignore into student (last_name, first_name) values ( '张三', '李四'); //结果 Query OK, 0 rows affected (0.00 sec)

现在我们看出来了吧,也就是说在执行第一条插入操作的时候,看到数据库没有,则直接插入一条新纪录,因此一行记录受到影响,但是在第二次插入的时候,数据库已经有一条一样的了,因此便不会插入了,0行受到影响。

当然了还有一个指令也可以完成类似于insert ignore into相似的功能,那就是replace into。他表示的是如果存在primary 或  unique相同的记录,则先删除掉。再插入新记录。

方法三:过滤重复数据

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

SELECT DISTINCT last_name, first_name FROM student ORDER BY last_name; 你也可以使用 GROUP BY 来读取数据表中不重复的数据: SELECT last_name, first_name FROM student GROUP BY (last_name, first_name);

方法四:删除重复数据

这种情况其实就相当于,在水的终点处去解决。看下面sql语句:

//根据student创建一个临时表,并使用group by过滤了重复数据

//根据student创建一个临时表,并使用group by过滤了重复数据  CREATE TABLE tmp SELECT last_name, first_name, sex         FROM student;         GROUP BY (last_name, first_name); //删除原student表 DROP TABLE student; //给这个临时表重新命名 ALTER TABLE tmp RENAME TO stu;

当然你也可以在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法如下:

ALTER IGNORE TABLE student ADD PRIMARY KEY (last_name, first_name);

关于mysql数据库中怎么处理重复的数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库中怎么处理重复的数据

本文链接: https://www.lsjlt.com/news/56843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql数据库中怎么处理重复数据
    这篇文章给大家介绍mysql数据库中怎么处理重复数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一:防止出现重复数据也就是说我们再设计表的时候,就应该对这些数据设置一个UNIQUE 索引,在插入的时候就可以保证其...
    99+
    2023-06-19
  • MySQL数据库中怎么处理重复的数据
    这篇文章将为大家详细讲解有关MySQL数据库中怎么处理重复的数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法一:防止出现重复数据也就是说我们再设计表的...
    99+
    2022-10-18
    mysql
  • MySQL中怎么处理重复数据
    MySQL中怎么处理重复数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。防止表中出现重复数据你可以在MySQL数据表中设置指定的字段为 ...
    99+
    2022-10-18
    mysql
  • 怎么在mysql数据库中删除重复的数据
    本篇文章为大家展示了怎么在mysql数据库中删除重复的数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.问题引入假设一个场景,一张用户表,包含3个字段。id,identity_id,name。现...
    99+
    2023-06-07
  • MySQL数据库中怎么避免写入重复数据
    MySQL数据库中怎么避免写入重复数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们在 MySQL数据库进行表设...
    99+
    2022-10-18
    mysql
  • sql2000数据库中怎么清除重复数据
    sql2000数据库中怎么清除重复数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用游标实现declare @id1 int,@old...
    99+
    2022-10-18
    sql
  • mysql数据库去除重复数据的方法
    这篇文章主要介绍了mysql数据库去除重复数据的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql数据库去除重复数据的方法:1、查询需...
    99+
    2022-10-18
    mysql
  • MySQL处理重复数据的学习笔记
    MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复...
    99+
    2022-05-16
    MySQL 重复数据
  • MySQL中怎么防止数据重复
    MySQL中怎么防止数据重复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。很多时候在日常的项目中,有些数据是不允许重复的,例如用户信息中的登陆...
    99+
    2022-10-18
    mysql
  • php数据库怎么去除重复数据
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php数据库怎么去除重复数据?开发项目的时候往往会有重复数据,如何去除重复数据呢?今天给大家分享一个简单的方法,正常无论是用框架开发还是原生 php 都很少有自带的去重复...
    99+
    2019-05-29
    php
  • MySQL数据库中怎么查找删除重复行
    这篇文章给大家介绍MySQL数据库中怎么查找删除重复行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当你对b字段排序(分组),相同值的c被分到不同的组,因此不能用COUNT(DISTI...
    99+
    2022-10-18
    mysql
  • mysql怎么删除重复数据
    这篇文章主要讲解了“mysql怎么删除重复数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql怎么删除重复数据”吧!sku对应的重量表,应该一个sk...
    99+
    2022-10-19
    mysql
  • MySQL怎么过滤重复数据
    本篇内容主要讲解“MySQL怎么过滤重复数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL怎么过滤重复数据”吧!方法1:加关键字 DISTINCT在mysql中,可以利用“SELEC&...
    99+
    2023-07-06
  • MySQL中怎么查询不重复的数据
    这篇文章主要介绍了MySQL中怎么查询不重复的数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中怎么查询不重复的数据文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-04-28
    mysql
  • 怎么在mysql中去除重复数据
    在mysql中去除重复数据的方法:1.启动mysql;2.登录mysql数据库;3.进入数据表;4.使用COUNT函数统计重复数据;5.执行命令删除重复数据;具体步骤如下:首先,在命令行中启动mysql服务;service mys...
    99+
    2022-10-24
    mysql
  • 怎么在MySQL中查询重复数据
    今天就跟大家聊聊有关怎么在MySQL中查询重复数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。表结构如下图所示:表明:brand 操作:...
    99+
    2022-10-18
    mysql
  • MySQL中怎么插入不重复数据
    这期内容当中小编将会给大家带来有关MySQL中怎么插入不重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。   之前最naive的想法就是先对将要插入的...
    99+
    2022-10-18
    mysql
  • MySQL中怎么不插入重复数据
    这期内容当中小编将会给大家带来有关MySQL中怎么不插入重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、insert ignore into当插入数据时,如出现...
    99+
    2022-10-18
    mysql
  • MySQL数据库中怎么恢复误删除数据
    本篇文章为大家展示了MySQL数据库中怎么恢复误删除数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 找到binlog恢复数据的前提是必须开启Mysql的bi...
    99+
    2022-10-18
    mysql
  • MySQL数据库怎么增量恢复数据
    本篇内容介绍了“MySQL数据库怎么增量恢复数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、场景概述...
    99+
    2022-10-18
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作