iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL处理重复数据的学习笔记
  • 277
分享到

MySQL处理重复数据的学习笔记

MySQL重复数据 2022-05-16 23:05:18 277人浏览 独家记忆
摘要

MySQL 处理重复数据 有些 Mysql 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复

MySQL 处理重复数据

有些 Mysql 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。

本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。

防止表中出现重复数据

你可以在 mysql 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。

让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录。


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

如果你想设置表中字段 first_name,last_name 数据不能重复,你可以设置双主键模式来设置数据的唯一性, 如果你设置了双主键,那么那个键的默认值不能为 NULL,可设置为 NOT NULL。如下所示:


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

如果我们设置了唯一索引,那么在插入重复数据时,sql 语句将无法执行成功,并抛出错。

INSERT IGNORE INTO 与 INSERT INTO 的区别就是 INSERT IGNORE 会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

以下实例使用了 INSERT IGNORE INTO,执行后不会出错,也不会向数据表中插入重复数据:


mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
  -> VALUES( 'Jay', 'Thomas');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
  -> VALUES( 'Jay', 'Thomas');
Query OK, 0 rows affected (0.00 sec)

INSERT IGNORE INTO 当插入数据时,在设置了记录的唯一性后,如果插入重复数据,将不返回错误,只以警告形式返回。 而 REPLACE INTO 如果存在 primary 或 unique 相同的记录,则先删除掉。再插入新记录。

另一种设置数据的唯一性方法是添加一个 UNIQUE 索引,如下所示:


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

统计重复数据

以下我们将统计表中 first_name 和 last_name的重复记录数:


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

以上查询语句将返回 person_tbl 表中重复的记录数。 一般情况下,查询重复的值,请执行以下操作:

  • 确定哪一列包含的值可能会重复。
  • 在列选择列表使用COUNT(*)列出的那些列。
  • 在GROUP BY子句中列出的列。
  • HAVING子句设置重复数大于1。

过滤重复数据

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


mysql> SELECT DISTINCT last_name, first_name
  -> FROM person_tbl;

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


mysql> SELECT last_name, first_name
  -> FROM person_tbl
  -> GROUP BY (last_name, first_name);

删除重复数据

如果你想删除数据表中的重复数据,你可以使用以下的SQL语句:


mysql> CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl GROUP BY (last_name, first_name, sex);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;

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


mysql> ALTER IGNORE TABLE person_tbl
  -> ADD PRIMARY KEY (last_name, first_name);

以上就是MySQL处理重复数据的学习笔记的详细内容,更多关于MySQL处理重复数据的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL处理重复数据的学习笔记

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

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

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

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

下载Word文档
猜你喜欢
  • Python 学习笔记:path 处理在大数据中有何重要性?
    在大数据处理中,文件路径的处理是非常重要的一个环节。Python 作为一门十分流行的编程语言,其对于文件路径的处理也非常得心应手。在本篇文章中,我们将会探讨 Python 中的 path 处理在大数据中的重要性,并且给出一些实例代码。 ...
    99+
    2023-08-02
    学习笔记 path 大数据
  • Laravel 实时数据处理:ASP 学习笔记分享!
    Laravel 是一个非常流行的 PHP 框架,它为开发人员提供了一种快速构建 Web 应用程序的方式。在本文中,我们将介绍 Laravel 实时数据处理的方法,并分享如何使用 ASP(Asynchronous Server Pages)...
    99+
    2023-10-12
    学习笔记 laravel 实时
  • 实时数据处理:Python API 学习笔记分享
    在当今数据时代,实时数据处理已经成为了一项必要的技能。Python作为一种高效且易于学习的编程语言,已经成为了实时数据处理的首选工具之一。在这篇文章中,我们将分享一些Python API的学习笔记,帮助你更好地掌握实时数据处理的技能。 P...
    99+
    2023-11-08
    api 学习笔记 实时
  • PHP学习笔记:表单处理与数据验证
    在网页开发中,表单是用户与网站进行交互的重要组件之一。当用户在网站上填写表单并提交数据时,网站需要对提交的数据进行处理和验证,确保数据的准确性和安全性。本文将介绍如何使用PHP来处理表单和进行数据验证,并提供具体的代码示例。表单提交和数据预...
    99+
    2023-10-21
    数据验证 表单处理 PHP学习
  • [Python学习笔记]Python数据
    嵩天老师的课感觉很好呀,啦啦啦 0. 数据分析之前奏 课程主要内容: 常用IDE: 本课程主要使用:Anaconda Anaconda:一个集合,包括conda、某版本Python、一批第三方库等   -支持近800个第三方库...
    99+
    2023-01-30
    学习笔记 数据 Python
  • python 学习笔记 3 -- 数据
    当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。eg. # -*- coding: utf-8 -*-  shopli...
    99+
    2023-01-31
    学习笔记 数据 python
  • 【MongoDB学习笔记3】处理Mong
    安装MongoDB后第一次启用shell登录mongo会出现一下的错误:warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused用...
    99+
    2023-01-31
    学习笔记 MongoDB Mong
  • Python 框架中的数据处理利器:numpy 学习笔记
    在 Python 数据分析的生态系统中,numpy 是一个非常重要的工具。numpy 是一个开源的 Python 库,用于科学计算。它提供了一个强大的 N 维数组对象,以及许多其他的工具,用于处理这些数组。numpy 是 Python 数...
    99+
    2023-10-23
    框架 学习笔记 numpy
  • ASP学习笔记:如何处理常见的数据类型?
    在ASP中,常见的数据类型有字符串、整数、浮点数、布尔值、日期和数组等。在编写ASP程序时,正确地处理这些数据类型是非常重要的,因为它们直接影响着程序的正确性和性能。 本篇文章将介绍如何在ASP中处理常见的数据类型,并且提供一些演示代码供...
    99+
    2023-10-05
    学习笔记 ide 数据类型
  • PHP学习笔记:如何使用Apache处理大数据?
    在Web开发中,处理大量数据是一个常见的任务。Apache是一个流行的Web服务器,提供了处理大量数据的能力。在本篇文章中,我们将介绍如何使用PHP和Apache来处理大量数据。 一、Apache的配置 为了处理大量数据,我们需要配置Ap...
    99+
    2023-11-02
    学习笔记 大数据 apache
  • 轻松掌握 ASP:Laravel 实时数据处理学习笔记!
    ASP 程序设计是 Web 开发的重要技能之一,而 Laravel 是一款广受欢迎的 PHP 框架,它提供了许多实用的功能,使得开发者可以轻松地构建高质量的 Web 应用程序。在本篇文章中,我们将介绍如何使用 Laravel 实时处理数据,...
    99+
    2023-10-12
    学习笔记 laravel 实时
  • Python学习笔记一(Python数据
    Python数据类型主要包括数字,字符串,列表,元组和字典。字符串,列表,元组和字典都是序列,序列最主要两个特点是索引操作和切片操作,索引操作让我们从序列中抓取一个特定项目,切片操作让我们能够获取序列的一个切片,即一部分序列。1.数字 ...
    99+
    2023-01-31
    学习笔记 数据 Python
  • MySQL的知识点整理(学习笔记)
    目录 一、认识数据库 1. 什么是数据库 2. 数据库类型 3. 常见的数据库管理系统 4. MySQL介绍 5. MySQL的安装&管理工具的安装 6. SQL概述 7. 在DOS系统中操作MySQL 8. MySql常用命令 二、操作...
    99+
    2023-09-09
    mysql 数据库 学习 笔记
  • Python API 学习笔记:掌握实时数据处理的诀窍
    在当今的数据时代,对于数据的处理已经成为企业和个人必备的技能之一。而随着数据量的不断增加,实时数据处理已经成为了数据处理的一个重要方向。Python API为我们提供了一个高效的方式来处理实时数据。在本篇文章中,我们将会介绍Python ...
    99+
    2023-11-08
    api 学习笔记 实时
  • PHP 数组学习笔记:如何正确处理响应数据?
    在 PHP 中,数组是一个非常重要的数据结构。数组可以用来存储一组数据,这些数据可以是任意类型的,例如字符串、数字、对象、甚至是其他数组。在 Web 开发中,我们经常需要处理从服务器返回的响应数据,如何正确处理这些数据,是一个每个 PHP...
    99+
    2023-08-31
    数组 学习笔记 响应
  • ASP 学习笔记:如何在 Laravel 中实时处理数据?
    Laravel 是一个非常流行的 PHP 框架,它提供了许多强大的功能,使得开发者可以更加高效地构建 Web 应用程序。在 Laravel 中,处理实时数据是非常常见的需求。ASP 是一种经典的编程语言,也可以在 Laravel 中使用。...
    99+
    2023-10-12
    学习笔记 laravel 实时
  • Laravel 中的实时数据处理:ASP 学习笔记带你飞!
    Laravel 是一个流行的 PHP 框架,它提供了许多功能强大的工具和库,帮助开发人员快速构建高质量的 Web 应用程序。其中一个非常重要的功能是实时数据处理,可以帮助开发人员实现实时数据的处理和分析。在本篇文章中,我们将介绍如何在 L...
    99+
    2023-10-12
    学习笔记 laravel 实时
  • python学习笔记(三)-表单处理
    表单类 默认情况下,Flask-WTF能保护所有表单免受跨站请求伪造攻击(CSRF) app = Flask(__name__) # 强制性必须填写secret_key app.config['SECRET_KEY'] = 'h...
    99+
    2023-01-31
    表单 学习笔记 python
  • PHP学习笔记:如何利用Apache处理海量数据?
    Apache是一个流行的Web服务器,它可以与PHP一起使用来处理海量数据。在本文中,我们将探讨如何使用Apache来处理大量数据,以及如何优化您的PHP代码以实现更高效的性能。 一、Apache处理大量数据的优势 Apache的主要优势...
    99+
    2023-11-02
    学习笔记 大数据 apache
  • 实时数据处理神器!Python API 学习笔记推荐
    在当今的信息时代,数据处理已经成为了各个行业的重要工作之一。而随着大数据技术的逐渐成熟,实时数据处理已经成为了越来越多企业和个人的需求。而 Python 作为一门高效的编程语言,其强大的数据处理能力更是被越来越多人所认可。本文将为大家介绍...
    99+
    2023-11-08
    api 学习笔记 实时
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作