Mysql中怎么实现Update批量更新
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下SQL语句来更新字段值:
千家信息网最后更新 2025年11月10日Mysql中怎么实现Update批量更新
Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
通常情况下,我们会使用以下SQL语句来更新字段值:
UPDATE mytable SET myfield='value' WHERE other_field='other_value';
但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?刚开始你可能会想到使用循环执行多条UPDATE语句的方式,就像以下的python程序示例:
for x in xrange(10): sql = ''' UPDATE mytable SET myfield='value' WHERE other_field='other_value'; '''
这种方法并没有什么任何错误,并且代码简单易懂,但是在循环语句中执行了不止一次SQL查询,在做系统优化的时候,我们总是想尽可能的减少数据库查询的次数,以减少资源占用,同时可以提高系统速度。幸运的是,还有更好的解决方案,只不过SQL语句稍微复杂点,但是只需执行一次查询即可,语法如下:
UPDATE mytable SET myfield = CASE other_field WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' ENDWHERE id IN (1,2,3)
这样的SQL语句是很容易理解的,也就是用到了很多编程语言都有的关键字 CASE,根据id字段值来进行不同分支的当型判断,
如果你需要更新一行记录的多个字段,可以用以下SQL语句:
UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END, title = CASE id WHEN 1 THEN 'New Title 1' WHEN 2 THEN 'New Title 2' WHEN 3 THEN 'New Title 3' ENDWHERE id IN (1,2,3)
以上方案大大减少了数据库的查询操作次数,大大节约了系统资源
不过这个有个缺点 : 要注意的问题是SQL语句的长度,需要考虑程序运行环境所支持的字符串长度,当然这也可以更新mysql的设置来扩展。
当然python这么强大的语言还给我们提供了executemany 这么强大的方法 ,它不仅可以插入数据 当然也可以用于更新数据 作为一个经常搞事情的人 这些东西要经常相互用下 才可以对比出结果
update_sql = ''' UPDATE mayi_order_image set order_city = %swhere user_ip = %s and dt = %s and id = %s and user_ip is not null and (order_city is null or order_city = '' ) '''pp = []for x in xrange(len(result)): ip = result[x][0] id_ = result[x][1] add = dbip.lookup(str(ip)) adds = add.split('\t') address = str(adds[0]) + ','+str(adds[1] )+ ','+ str(adds[2]) pp.append((address,ip,end,id_)) if x%5000 == 0: saveLog_many(update_sql,pp) pp = []saveLog_many(update_sql,pp)看完上述内容,你们掌握Mysql中怎么实现Update批量更新的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
更新
语句
数据
字段
方法
查询
系统
问题
强大
内容
数据库
方案
更多
次数
程序
语言
资源
长度
循环
复杂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
榆林软件开发联系方式
连接游戏服务器
查询数据库表中所有内容吗
数据库设计三大范式
第三方数据库
群晖服务器部署js项目
数据库开发技术考核要求
前沿科技产业互联网
国际化网络安全系统
银行的软件开发岗要求高么
三星服务器管理员
gta4最高画质的服务器
适合ssr的服务器
云服务器centos搭建博客
htm安全连接数据库
数据库基础试题2021
显示数据库的SQL语句命令
内蒙古互联网软件开发方案
中国药品标准数据库官网
公共安全预案 网络安全
阿里云服务器种类
招银软件开发二面
惠普服务器加装固态硬盘无法识别
银行的软件开发岗要求高么
新兴科技互联网创新大赛颁奖典礼
网络安全入门教程 百度云
服务器osd什么意思
服务器主机能做什么
互联网科技生活小程序
2021年网络安全会议时间