数据库update多条数据
数据库不提供想多条插入类似的语法,但是我们可以借助于case when来拼出一个常sql,当然这还是一条语句,
update tabel1
set 字段1 = case 条件字段 when 条件值1 then 字段1的值1 when 条件值2 then 字段1的值2 end, 字段2 = case 条件字段 when 条件值 then 字段2的值 end, 字段3 = case 条件字段 when 条件值 then CONCAT(字段3, 追加值) end
where 共有条件 = 条件值;
mybatis中使用如下
<update id="updateInfo">update table1 set 字段1=<foreach collection="base" item="base" open="case 条件字段" close="else 字段1 end" separator=" ">when #{base.条件值} then #{base.字段1的值}</foreach>, 字段2=<foreach collection="base" item="base" open="case 条件字段" close="else 字段2 end" separator=" ">when #{base.条件值} then #{base.字段2的值}</foreach>, 字段3=<foreach collection="base" item="base" open="case 条件字段" close="else 字段3 end" separator=" ">when #{base.条件值} then #{base.字段3的值}</foreach>, 字段4=<foreach collection="base" item="base" open="case 条件字段" close="else 字段4 end" separator=" ">when #{base.条件值} then #{base.字段4的值}</foreach>, 字段5=<foreach collection="base" item="base" open="case 条件字段" close="else 字段5 end" separator=" ">when #{base.条件值} then #{base.字段5的值}</foreach>, 字段6=<foreach collection="base" item="base" open="case 条件字段" close="else 字段6 end" separator=" ">when #{base.条件值} then CONCAT(IFNULL(字段6,''),IFNULL(#{base.字段6的值},''))</foreach>where 字段6=#{条件值};</update>
注意CONCAT进行字符串追加时,如果其中有任何一个时null值则结果一定时null解决办法时使用IFNULL(value,’’),将null值替换成空串就行了
数据库update多条数据相关推荐
- android动态更新数据库数据,Android数据库更新——上万条数据的插入
在实际情况下,很可能遇到会向一个表中插入10万条数据,而这样的数据库更新,如果用寻常的方式,在SQLiteOpenHelper.onUpdate()方法中不断的执行SQL语句,那么效率是可想而知的,甚 ...
- mysql插10万条数据_MySQL数据库插入100w条数据要花多久?
MySQL数据库插入100w条数据要花多久? 1.多线程插入(单表) 2.多线程插入(多表) 3.预处理SQL 4.多值插入SQL 5.事务(N条提交一次) # 多线程插入(单表) 问:为何对同一个表 ...
- C#数据库插入多条数据,抛出异常:另一个 SqlParameterCollection 中已包含 SqlParameter
解决办法很简单:添加语句:cmd.Parameters.Clear(); 原理:在SqlCommand使用完后清理SqlParameter. 代码示例: //定义连接数据库的配置字符串,需要填入你的连 ...
- 如何查mysql里有多少条数据_mysql快速查询数据库中有多少条数据
慕尼黑的夜晚无繁华 mysql 统计 表的数量:SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '你的数据库'; ...
- 你向 Mysql 数据库插入 100w 条数据用了多久?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 目录 1.多线程插入(单表) 2.多线程插入(多表) 3.预处理S ...
- mysql怎样循环插入数据_你向 Mysql 数据库插入 100w 条数据用了多久?
多线程插入(单表) 多线程插入(多表) 预处理SQL 多值插入SQL 事务(N条提交一次) 多线程插入(单表) 问:为何对同一个表的插入多线程会比单线程快?同一时间对一个表的写操作不应该是独占的吗? ...
- 微信小程序云开发 操作数据库-新增一条数据
数据库 API 分为小程序端和服务端两部分,小程序端 API 拥有严格的调用权限控制,开发者可在小程序内直接调用 API 进行非敏感数据的操作.对于有更高安全要求的数据,可在云函数内通过服务端 API ...
- mysql数据库删除千万条数据的操作方案
项目情况是这样的,数据库中有一张计费表,这张表是随着时间无限增长的,数据会越来越多,count一下数据共有8千万条,而现在需要删除2019年之前所有的数据,大概7千多万条.表中有索引. 我直接使用 D ...
- mysql 5000万条数据库_1亿条数据如何分表100张到Mysql数据库中(PHP)
下面通过创建100张表来演示下1亿条数据的分表过程,具体请看下文代码. 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度.笔者做了一个简单的尝试,1亿条数据,分100张表.具体实现过 ...
- DB2数据库取第一条数据
DB2只取第一条数据 select * from table fetch first 1 rows only
最新文章
- 通俗讲java反射机制ioc,结合反射说明SpringIOC的实现原理
- 春节假期延长了,这里给你推荐几本2020年不容错过的机器学习书籍!
- 别再被 Python 洗脑了!!
- angular directive 深入理解
- 给交叉编译工具建立软连接用脚本
- 自我分析colly的robots源码
- pat 乙级 1041 考试座位号(C++)
- UVALive 6525 Attacking rooks 二分匹配 经典题
- java 优酷视频缩略图_优酷视频缩略图
- 2016 pku campus/OpenJ_POJ - C16H(推公式+矩阵快速幂)
- 读书笔记_量化交易如何建立自己的算法交易04
- AD的备份与标准还原:深入浅出Active Directory系列(四)
- openstack常见问题解决方法
- 车辆OTA仿真测试解决方案
- 《Graphene-SGX: A Practical Library OS for UnmodifiedApplications on SGX (ATC‘17)》笔记
- 赵小楼《天道》《遥远的救世主》深度解析(51)为什么芮小丹用脱衣这个方式来告白丁元英?
- 高端蓝牙耳机哪个牌子好?四款高音质不错的蓝牙耳机推荐
- JVM堆内存(新生代,老年代,Xms,Xmx)学习整理
- 关于初始化数据库时报错及解决办法(常见故障整理)
- springboot社区快递代取服务系统毕业设计-附源码
热门文章
- [数据结构]--WiscKey: Separating Keys from Values in SSD-Conscious Storage
- [TimLinux] Python3 Coverity zeep/SOAP 库使用示例
- 微信小程序云开发 1 - 数据库
- 巨头争云存储祭免费旗 或重演视频业消耗战
- Web前端工程师VS前端工程师,谁的薪资更上一筹?
- elixir元编程的quote与unquote
- vbm 分析_MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)...
- 15.4.1 使用CREATE OR REPLACE VIEW语句修改视图结构
- u盘复制文件第二台计算机无文件夹,u盘做成启动盘后拷贝进去的文件不见了怎么办...
- 灵魂有香气的女子李筱懿|讲述女性自我成长的重要性