Mysql中怎么实现Update批量更新
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下SQL语句来更新字段值:
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
风神网络技术有限公司
中国互联网科技超越
厦门巡检管理软件开发
运城网络技术团队
北邮计算机网络技术2
mysql数据库密码被黑
百信云龙服务器厂家
长城服务器代理
网络安全黑客怎么挣钱
BHX99-MCS嵌入式服务器
科技有限公司 软件开发
人社金保入围软件开发商
珠海云数据库培训
数据库 批量插入
软件开发常见模式有哪些
用友u8数据库服务器数据源
全球软件开发公司排行榜
西安系统软件开发
软件开发技术分享ppt
EPS数据库数据可靠吗
深圳双喜互联网络科技有限公司
网络安全分析工作过程
软件开发人员配备方案
戴尔服务器更新驱动不兼容
南昌软件开发前景
QT如何查询数据库记录存在
做软件开发自学c语言行么
江苏网络安全主题讲坛
数据库应用感悟
杭州管理系统软件开发案例