mysql更新语句很简单,更新一条数据的某个字段,一般这样写:

如果更新同一字段为同一个值,mysql也很简单,修改下where即可:

这里注意 ‘other_values’ 是一个逗号(,)分隔的字符串,如:1,2,3

那如果更新多条数据为不同的值,可能很多人会这样写:

即是循环一条一条的更新记录。一条记录update一次,这样性能很差,也很容易造成阻塞。

那么能不能一条sql语句实现批量更新呢?mysql并没有提供直接的方法来实现批量更新,但是可以用点小技巧来实现。

这里使用了case when 这个小技巧来实现批量更新。

举个例子:

这句sql的意思是,更新display_order 字段,如果id=1 则display_order 的值为3,如果id=2 则 display_order 的值为4,如果id=3 则 display_order 的值为5。

即是将条件语句写在了一起。

这里的where部分不影响代码的执行,但是会提高sql执行的效率。确保sql语句仅执行需要修改的行数,这里只有3条数据进行更新,而where子句确保只有3行数据执行。

如果更新多个值的话,只需要稍加修改:

到这里,已经完成一条mysql语句更新多条记录了。

但是要在业务中运用,需要结合服务端语言,这里以php为例,构造这条mysql语句:

这个例子,有8条记录进行更新。代码也很容易理解,你学会了吗?

mysql更新多条数据6_mysql语句:批量更新多条记录的不同值相关推荐

  1. mysql怎样添加一条数据_sql语句怎么添加一条记录?

    展开全部 sql语句中,添加记录的语法为:insert into 表名 (col1,col2....coln)values(value1,value2.....valuen): 其中,如果你插入的每一 ...

  2. php怎么更新多条数据,PHP中批量更新数据表中多条记录

    class test { /** * 创建像这样的查询: "IN('a','b')"; * * @author wengxianhu * @created to 2013-05-2 ...

  3. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

  4. sql进行批量更新或者一条sql写出批量更新的语句

    有表如下 t_user:字段如下 id,name,phone t_phone:字段如下 uid,phone 其中t_phone表的uid字段是外键并且唯一,他引用t_user的id字段,现需要将t_p ...

  5. mysql根据id删除数据sql语句_删除数据sql-sql数据库删除数据-sql中实现数据删除的语句是...

    怎样用sql语言删除一行数据 在SQL数据库中删除记录一般使用Delete语句,下面就将为您介绍SQL中用于删除记录的DELETE语句的语法 DELETE FROM 表名称 WHERE 列名称 = 值 ...

  6. mysql 新增更新_MySQL新增数据,存在就更新,不存在就添加(转帖加实测)

    参考链接:https://blog.csdn.net/tiantang_1986/article/details/78037804 https://blog.csdn.net/woshihaiyong ...

  7. mybatis笔记之一次插入多条数据sql语句写法

    mybatis笔记之一次插入多条数据sql语句写法

  8. oracle常用插入一条语句,Oracle:用一条 INSERT 语句批量插入多条记录

    用一条 INSERT 语句批量插入多条记录,实例如下: 先建立这样一个表 T: SQL> DESC T Name                       Null?    Type ---- ...

  9. mysql 批量更新数据 备份_mysql 批量更新与批量更新多条记录的不同值实现方法...

    批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other ...

最新文章

  1. 内存和外存的主要区别_内存与外存的关键区别有哪些?
  2. linux tac sed,Day08 - 一些常用 Linux 指令 - 3-7 (cat、tac、head、tail、vi、sed)
  3. java ReentrantLock 锁相关笔记
  4. selenium使用js进行点击
  5. vs 设置起始页不见了_发朋友圈屏蔽爸妈,结果不小心设置成了仅家人可见...场面一发不可收拾哈哈哈哈!...
  6. vSphere 故障排除之网络篇
  7. springboot2.0新特性
  8. 自动驾驶应用加速 模拟仿真技术是关键之一
  9. codeforces 1384A(构造)
  10. 层叠上下文、层叠等级、层叠顺序
  11. excel中图片导入mysql_把Excel的数据(文字、图片)导入MySQL数据库
  12. doc文件批量转换成htm以及htm批量转成xlsx
  13. win10卸载软件_教你彻底关闭Win10自动更新,以及卸载预装应用
  14. 世界上云平台有很多,但叫机智云的只有一个。
  15. Home键和返回键的区别
  16. World Streamer学习4
  17. KAIST : Multispectral Pedestrian Detection: Benchmark Dataset and Baseline
  18. C语言输出 1到20 的阶乘之和
  19. 自定义报表是这样实现的
  20. 【赛迪智库】美国允许自动驾驶汽车取消方向盘对我国L4级自动驾驶的影响

热门文章

  1. 这款耳机堪比千元级的AirPods
  2. K8S精华问答 | 应用和运行时平台是怎样解耦的?
  3. var let const 区别
  4. mysql bin oct_python 讲解进制转换 int、bin、oct、hex
  5. nacos 开启权限验证后 报错状态 403
  6. uniapp H5页面打包发布
  7. docker: Error response from daemon: driver failed programming external connectivity
  8. Jmeter 使用脚本 生成html测试报告
  9. Mybatis Generator 配置详解
  10. SpringBoot集成Flowable_Jsite待办任务菜单报500