bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...
最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下:
这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,address这4个字段,其中主键为id(自增),同时对username字段设置了唯一索引:
01 insert ignore into
即插入数据时,如果数据存在,则忽略此次插入,前提条件是插入的数据字段设置了主键或唯一索引,测试SQL语句如下,当插入本条数据时,MySQL数据库会首先检索已有数据(也就是idx_username索引),如果存在,则忽略本次插入,如果不存在,则正常插入数据:
02 on duplicate key update
即插入数据时,如果数据存在,则执行更新操作,前提条件同上,也是插入的数据字段设置了主键或唯一索引,测试SQL语句如下,当插入本条记录时,MySQL数据库会首先检索已有数据(idx_username索引),如果存在,则执行update更新操作,如果不存在,则直接插入:
03 replace into
即插入数据时,如果数据存在,则删除再插入,前提条件同上,插入的数据字段需要设置主键或唯一索引,测试SQL语句如下,当插入本条记录时,MySQL数据库会首先检索已有数据(idx_username索引),如果存在,则先删除旧数据,然后再插入,如果不存在,则直接插入:
04 insert if not exists
即insert into … select … where not exist ... ,这种方式适合于插入的数据字段没有设置主键或唯一索引,当插入一条数据时,首先判断MySQL数据库中是否存在这条数据,如果不存在,则正常插入,如果存在,则忽略:
目前,就分享这4种MySQL处理重复数据的方式吧,前3种方式适合字段设置了主键或唯一索引,最后一种方式则没有此限制,只要你熟悉一下使用过程,很快就能掌握的,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下。
好文章,我在看
bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...相关推荐
- 在MySQL数据库中,这4种方式可以避免重复的插入数据!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:小小猿爱嘻嘻 wukong.com/question/674 ...
- mssql mysql 语法区别_mssql与mysql区别之——变量区别
sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的): 申明局部变量语法:declare @变量名 数据类型:例如:declare ...
- db2与mysql语法区别,db2和mysql语法分析异同点
1.建表: (1)创建基本表二者是一致的 mysql:create table person(name varchar(10),age int) db2: 同上. (2)mysql支持在创建表的时候指 ...
- mssql与mysql语法区别_MSSQL与MySQL语法区别
就目前碰到的不一样的地方集中记录在这篇日志中,不定期更新. 1.批量执行SQL语句 MSSQL中,所有语句执行过程中无需在末尾加分号『;』 MySQL中,单条语句不用加分号,多条执行时每句末尾需要添加 ...
- Mysql磁盘空洞的成因以及重建表的几种方式
详细介绍了Mysql删除数据但是磁盘占用并没有减少的原因--磁盘空洞,以及磁盘空洞的解决方法和几种重建表的方式的区别. 有时候我们直接物理删除变种的某些数据,以期望减少磁盘的占用,但是我们会发现即使物 ...
- 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL
怎么架构生产数据库--生产数据库优化的一种方式 运维经理,高级架构师.曾任职于NEC软件.海尔B2B平台巨商汇,负责企业数据平台构建.B2B电商平台数据管理与搭建.企业运维管理平台搭建.拥有丰富DBA ...
- orcle与mysql的区别_Orcle与MySQL的SQL语法区别:
Orcle与MySQL的SQL语法区别: 1.在Oracle中用 select * from all_users显示所有的用户,而在MySQL中显示所有数据 库的命令是 show databases ...
- db2和mysql语句区别_db2和mysql语法的区别是什么
MySQL默认使用大小写敏感的数据库名.表名和列名(可以通过lower_case_table_names参数控制是否大小写敏感),DB2数据库对大小写不敏感. 虽然MySQL与DB2都遵循并符合SQL ...
- MySQL数据库:pg和mysql语法区别
ClickHouse 是什么? ClickHouse:是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS) 我们首先理清一些基础概念 OLTP:是传统的关系型数据库,主要操作增删改查,强调事 ...
最新文章
- #Ruby# Introspect (2)
- Java BitSet使用场景和示例
- 只有失去了,才知道珍惜!!!
- leetcode -- Balanced Binary Tree TODO
- Linux cat指令(用于连接文件并打印到标准输出设备上)
- 队列的C语言实现(通过内核链表)
- android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上
- 红橙Darren Android视频笔记 自定义view的三个构造方法以及一种实现换肤的方案 测量mode
- python寻找list中最大值、最小值并返回其所在位置
- php 用户之间通信,PHP,javascript,ajax-2位用户之间的通信
- 人口预测模型基础介绍
- Excel如何批量生成条形码
- 狂妄之人计算机音乐,Undertale音乐 MEGALOVANIA 狂妄之人
- java文件怎么保存_java 文件保存和打开
- 前端踩坑日记 npm install -g ...
- 利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第一篇“显示贪吃蛇”
- 位图+布隆过滤器-待续
- 生成带有logo的二维码
- 彻底搞懂Python切片操作_xing2516_新浪博客
- 01-JAVA基础_1.1 详细简介