Mysql中怎么实现Update批量更新
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下SQL语句来更新字段值:
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技公司
科技和互联网公司
互联网是不是新科技
南京欣网互联网科技
奔汉互联网科技
甘肃拓世互联网科技有限公司
安控科技rtu产品工业互联网
须眉科技是互联网公司吗
互联网教育科技公司vipkid
金融科技与互联网金融相同和不同
移动互联网科技公司
消费医药和互联网科技
亳州好赞互联网科技有限公司
上海钢联属于互联网科技股吗
广州千川互联网科技有限公司
互联网科技股为什么大涨
互联网科技年终奖
新氧科技和美国互联网有关系吗
江苏互联网智能科技产品出厂价
玉溪新华互联网科技怎么选
科技类互联网
凡科互联网科技
互联网科技公司有哪些
青海省互联网新科技
互联网科技公司需要的职位
科技类公司包括互联网吗
民营互联网公司国防科技
畅思互联网科技
中国新注册互联网科技
广州智享互联网科技