MariaDB数据库的重复项怎样处理,如何删除和防止?
Admin 2022-01-29 群英技术资讯 1241 次浏览
MariaDB数据库的重复项怎样处理?数据库中难免是会存在重复数据的,例如重复记录或表格等等,有重复项也是MariaDB所允许的,一般情况这些重复不会造成什么问题。但是,也会存在影响的情况。对此这篇我们就主要来了解如何找到重复项,删除重复项,并防止重复创建。
有四种管理重复项的关键方法:
用JOIN搜索它们,用临时表删除它们。
使用INSERT...ON DUPLICATE KEY UPDATE时要更新的重复项。
使用DISTINCT删除SELECT语句的结果并删除重复项。
使用INSERT IGNORE停止重复项的插入。
只需像内部连接一样执行半连接,然后删除临时表中的重复项。
当执行INSERT...ON DUPLICATE KEY UPDATE时发现重复的唯一密钥或主键时,会执行更新。发现多个唯一密钥后,它只更新第一个密钥。因此,不要在具有多个唯一索引的表上使用它。
查看以下示例,该示例展示了插入填充字段时包含索引值的表中会发生什么:
INSERT INTO add_dupl VALUES (1,'Apple'); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
注意——如果找不到key, INSERT...ON DUPLICATE KEY UPDATE语句的执行类似于普通的insert语句。
DISTINCT子句从结果中删除重复项。DISTINCT子句的基本语法如下:
SELECT DISTINCT fields FROM table [WHERE conditions];
注意-带有DISTINCT子句的语句的结果:
当使用一个表达式时,它会为它返回唯一的值。
当使用多个表达式时,它返回唯一的组合。
它不会忽略NULL值;因此,结果也包含NULL值作为唯一值。
使用单个表达式的DISTINCT子句查看以下语句:
SELECT DISTINCT product_id FROM products WHERE product_name = 'DustBlaster 5000';
使用多个表达式查看以下示例:
SELECT DISTINCT product_name, product_id FROM products WHERE product_id < 30
INSERT IGNORE语句指示MariaDB在发现重复记录时取消插入。查看下面给出的例子:
mysql> INSERT IGNORE INTO customer_tbl (LN, FN) VALUES( 'Lex', 'Luther');
另外,请注意重复项背后的逻辑。一些表需要根据该表数据的性质进行重复,在管理重复记录的策略中满足这一需求。
现在大家对于MariaDB数据库的重复项的处理和管理都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多MariaDB数据库的操作,大家可以关注群英网络其它相关文章。
文本转载自PHP中文网
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在之前的讨论和示例中,我们检查了从单个表中检索,或从多个来源检索多个值。 大多数现实世界的数据操作要复杂得多,需要从多个表进行聚合,比较和检索。JOIN允许将两个或多个表合并到单个对象中。 它们通过SELECT,UPDATE和DELETE语句使用。
MariaDB MAX()函数用于检索表达式的最大值。
以下是在MariaDB中使用CRUD 操作的条件列表。条件通常与SELECT语句一起使用。参考下表列出的一部分条件 - 编号 条件 描述 1 AND 在满足2个
这篇文章我们来了解MariaDB索引的相关内容,索引是数据库学习中的基础知识,同时也是很重要的。因此,本文就给大家来介绍一下,下文有详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
在版本10.0.3中,MariaDB引入了一种称为序列的存储引擎。 其ad hoc为操作生成整数序列,然后终止。 该序列包含正整数,以降序或升序排列,并使用起始,结束和递增值。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008