Navicat使用教程:如何在MySQL中定位和删除有重复意义的值
Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。
DBA最大的麻烦之一是处理重复数据。不管我们如何防范,重复数据总是会设法进入到表格。重复数据是一个大问题,因为它会影响应用程序视图(每个项都应该是唯一的)、扭曲统计信息,在严重情况下还会增加服务器开销。
在本技巧中,我们将学习如何识别MySQL中的重复数据,以及如何删除它们而不删除宝贵的有效数据。
重复类型
您将遇到的大多数重复记录是两种不同类型之一:重复含义和非唯一键。在本篇文章中,我们将处理重复含义;在下篇文章中,我们将处理非唯一键。
当副本不是副本时
重复意义是最常见的重复类型。在这种情况下,两个或多个字段的内容不相同,但它们的含义是相同的。你可以把它看作是语义上的重复数据。
考虑下表摘录:
在媒体专栏中,“Television”和“TV”两个词条的含义相同,但表达方式不同。这个问题通常是由使用自由文本输入引起的,有限的下拉列表是更好的选择。
这种类型的复制处理起来非常困难,因为不能使用select distinct排除重复项。
有两种方法可以解决这个问题:
1.使用replace()选择数据,将不需要的值替换为希望看到的值:
2.更新实际表数据。下面是一个声明,用首选的“TELEVISION”值更新“TV”的所有实例:
下面是一个真实的例子!
一些不需要的卷曲撇号进入了数据。注意“O'BRIEN”和“O'BRIEN”条目:
我们可以像上面那样处理这个问题:
1.使用replace()选择数据,用常规的单引号替换大撇号,这样我们就可以始终处理相同的字符:
2.更新实际表数据。此语句用常规单引号更新姓氏列中的所有撇号:
结论
重复记录、双精度、冗余数据、重复行;无论您如何称呼它们,它们都是DBA生命中最大的缺陷之一。然而,重要的是要定期清除它们,以免产生错误的统计数据并混淆与数据库交互的用户。
- navicat如何连接mysql?navicat 连接mysql Navicat使用教程
- Linq使用Distinct删除重复数据时如何指定所要依据的成员属性zz
- 如何使用Navicat MySQL导入.sql文件
- 如何删除一个表中重复的记录? 、、游标,存储过程的使用
- 如何使用Navicat修改mysql用户密码?
- [Navicat for MySQL系列]Navicat如何使用
- 使用Navicat for MySQL导出和导入MySQL数据库的表数据-图文教程
- Navicat使用教程:在Navicat Monitor for MySQL/MariaDB中配置实
- Navicat for mysql 简单使用教程
- navicat如何使用之安装教程
- 在Mysql和Oracle中如何删除字段中的重复数据
- Mysql建立索引,找出重复纪录,删除重复的纪录,ultraedit使用小技巧
- Mysql 如何删除数据表中的重复数据!
- mysql使用教程之分区表的使用方法(删除分区表)
- Navicat for MySQL安装及使用教程
- android studio使用教程(八) 如何在project中删除module
- solr6.3与MySQL结合使用的简明教程(三)——SolrException: undefined field text错误如何解决
- mysql如何快速删除重复的数据
- MySql-如何查询删除数据表重复记录
- Navicat for MySQL系列]Navicat如何使用