我们知道当插入多条数据的时候insert支持多条语句:

复制代码 代码如下:

INSERT INTO t_member (id, name, email) VALUES

(1, 'nick', 'nick@126.com'),

(4, 'angel','angel@163.com'),

(7, 'brank','ba198@126.com');

但是对于更新记录,由于update语法不支持一次更新多条记录,只能一条一条执行:

复制代码 代码如下:

UPDATE t_member SET name='nick', email='nick@126.com' WHERE id=1;

UPDATE t_member SET name='angel', email='angel@163.com' WHERE id=4;

UPDATE t_member SET name='brank', email='ba198@126.com' WHERE id=7;

这里问题就出现了,倘若这个update list非常大时(譬如说5000条),这个执行率可想而知。

这就要介绍一下在MySql中INSERT语法具有一个条件DUPLICATE KEY UPDATE,这个语法和适合用在需要判断记录是否存在,不存在则插入存在则更新的记录。

具体的语法可以参见:http://dev.mysql.com/doc/refman/5.0/en/insert.html

基于上面这种情况,针对更新记录,仍然使用insert语句,不过限制主键重复时,更新字段。如下:

复制代码 代码如下:

INSERT INTO t_member (id, name, email) VALUES

(1, 'nick', 'nick@126.com'),

(4, 'angel','angel@163.com'),

(7, 'brank','ba198@126.com')

ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email);

注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法!

mysql insert into多条_MySql中使用INSERT INTO语句更新多条数据的例子相关推荐

  1. mysql内嵌插入语句_MySQL中添加或插入语句(Insert)的几种使用方式

    MySQL中添加或插入语句(Insert)的几种使用方式 1.INSERT 简写方式插入数据(不推荐) 1.先看一下表中有那些数据 2.使用Inset into 表名 values(值1,值2)进行插 ...

  2. mysql临时表的使用实例_MySQL中临时表的使用示例

    这两天事情稍微有点多,公众号也停止更新了几天,结果有读者催更了,也是,说明还是有人关注,利己及人,挺好. 今天分享的内容是MySQL中的临时表,对于临时表,之前我其实没有过多的研究,只是知道MySQL ...

  3. mysql临时关闭索引功能_MYSQL中常用的强制性操作(例如强制索引)

    mysql常用的hint 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的hint功能.下面介绍一些常用的 ...

  4. mysql数据库回滚日志_MySQL中是如何实现事务提交和回滚的?

    什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元 事务的逻辑单元中可以是一条SQL语句,也可以是一段SQL逻辑,这段逻辑要么全部执行成功,要么全部执行失败 举个最常见的例子,你早上出去 ...

  5. mysql 事务隔离详解_MySQL 中事务、事务隔离级别详解

    一.事务的概念 1.事务的概念 2.在mysql中哪些存储引擎(表类型)支持事务哪些不支持 3.事务的四个属性 4.mysql事务的创建与存在周期 5.mysql行为 6.事务的隔离性和性能 7.my ...

  6. mysql的force的作用_mysql中force Index等一些不是很常用的sql优化介绍

    oracle的hint功能种类很多,对于优化sql语句提供了很多方法. 在mysql里,也有类似的hint功能. 下面为大家介绍一些比较常用的,供大家学习参考. 1.强制索引 FORCE INDEX ...

  7. mysql is null走索引_mysql中IS NULL、IS NOT NULL不能走索引?

    不知道是啥原因也不知道啥时候, 江湖上流传着这么一个说法 mysql查询条件包含IS NULL.IS NOT NULL.!=.like %* .like %*%,不能使用索引查询,只能使用全表扫描. ...

  8. mysql myisam表加索引_MySQL中myisam和innodb的主键索引有什么区别

    ALTER TABLE t1 ADD INDEX(or CREATE INDEX) ALTER TABLE t1 ADD FULLTEXT INDEX ALTER TABLE t1 ADD COLUM ...

  9. mysql不同连接的事务_mysql中不同事务隔离级别下数据的显示效果--转载

    事务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查询语句因为崩溃或其他原因而无法执行,那么所有的语句就都 ...

最新文章

  1. opencv(4)图像滤波
  2. Hadoop Intellij IDEA 建demo
  3. @SpringBootTest注解进行单元测试无法运行
  4. gprs连接中断记录_请收好!脉搏波血压计连接天天血压APP使用指南
  5. MySQL源码编译与初始化
  6. Eclipse,提交代码,版本比较时,不忽略空格
  7. mac使用fish的时候添加可执行文件路径
  8. i8一点通如何加载虚拟光驱玩游戏
  9. ubuntu清理磁盘空间的几个技巧
  10. Smobiler字节小程序开发指南
  11. java进制转换的简单方法
  12. Flixel框架介绍一
  13. ssh: Could not resolve hostname f: Name or service not known的解决
  14. Janet小主的前端工具夹子
  15. 读书笔记 -《一生的计划》
  16. 均值方差模型python_python实现资产配置(2)--Blacklitterman 模型
  17. 微信小程序 post请求发送x-www-form-urlencoded类型数据
  18. The 2021 ICPC Asia Shanghai Regional Programming Contest D、E
  19. JPA 6.JPQL
  20. Clickhouse(5)---Clickhouse语法

热门文章

  1. 基于信号指纹的多旋翼无人机遥控端个体识别研究(1)
  2. Builder(生成器模式) 创建型
  3. smarty 模板 for循环 php,smarty模板中类似for循环功能的实现代码
  4. [问题已处理]-在win10上安装prometheus监控
  5. 一个收废品的大哥毁了我的三观
  6. 一行代码让网站整体变黑色
  7. 在电脑上怎么做判断题打√或x_中学信息技术教师招聘考试题
  8. 对力螺旋(wrench)的理解
  9. 第一天Linuxr基础
  10. 自主手机操作系统:有无必要做以及如何开发