广告
返回顶部
首页 > 资讯 > 数据库 >Mysql中怎么实现Update批量更新
  • 971
分享到

Mysql中怎么实现Update批量更新

2024-04-02 19:04:59 971人浏览 泡泡鱼
摘要

Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下sql语句来更新字段值:UPD

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'
  END
WHERE 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'
  END
WHERE id IN (1,2,3)

以上方案大大减少了数据库的查询操作次数,大大节约了系统资源

不过这个有个缺点 : 要注意的问题是SQL语句的长度,需要考虑程序运行环境所支持的字符串长度,当然这也可以更新mysql的设置来扩展。

当然Python这么强大的语言还给我们提供了executemany 这么强大的方法 ,它不仅可以插入数据 当然也可以用于更新数据 作为一个经常搞事情的人 这些东西要经常相互用下 才可以对比出结果

update_sql = ''' UPDATE mayi_order_image 
set order_city = %s
where 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批量更新的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql中怎么实现Update批量更新

本文链接: https://www.lsjlt.com/news/55941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql中怎么实现Update批量更新
    Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下SQL语句来更新字段值:UPD...
    99+
    2022-10-18
  • mysql批量更新update
    引言:mysql 批量更新如果一条条去更新效率是相当的慢, 循环一条一条的更新记录,这样性能很差,也很容易造成阻塞,例如几百条或几千条数据需要同时更新,一条条更新就会很慢了,下面介绍mysql 批量更新的以下四种办法 1、replace i...
    99+
    2023-08-31
    mysql 数据库
  • SQLServer怎么实现批量更新
    这篇文章主要讲解了“SQLServer怎么实现批量更新”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQLServer怎么实现批量更新”吧!1、直接用top...
    99+
    2022-10-18
  • mybatis中oracle批量更新怎么实现
    这篇文章将为大家详细讲解有关mybatis中oracle批量更新怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。student类package com.t...
    99+
    2022-10-19
  • mybatis执行update批量更新时报错怎么解决
    今天小编给大家分享一下mybatis执行update批量更新时报错怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-06-29
  • 怎么使用update批量更新同一列不同值
    使用UPDATE语句批量更新同一列不同值,可以使用CASE语句来实现。例如,假设有一个名为"users"的表,其中包含"userna...
    99+
    2023-09-05
    update
  • MySQL如何实现数据批量更新
    最近需要批量更新大量数据,习惯了写sql,所以还是用sql来实现,下面这篇文章主要给大家总结介绍了关于MySQL批量更新的方式,需要的朋友可以参考下 根据不同条件批量更新同一值 这种场景直接通过update语句更新即可,如: 1 UP...
    99+
    2023-10-20
    mysql 数据库
  • Mybatis中updateBatch实现批量更新
    目录一.更新多条数据,每条数据都不一样1.逐条更新(java实现)2.逐条更新(mybatis实现)3.sql批量更新(主力实现)4.批量更新(单个字段,传参list),实际是sql...
    99+
    2022-11-13
  • SQLServer2005数据库中怎么实现批量更新
    这篇文章将为大家详细讲解有关SQLServer2005数据库中怎么实现批量更新,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  SQLServer2005数...
    99+
    2022-10-18
  • mysql怎么批量更新千万数据
    批量更新千万条数据可以使用MySQL的UPDATE语句结合WHERE子句来实现。下面是一个示例: UPDATE 表名 SET...
    99+
    2023-10-24
    mysql
  • MySQL实现批量更新不同表中的数据
    目录批量更新不同表的数据下面为当时所编写的存储过程本代码涉及到的MySQL的内容为批量更新语句(UPDATE)使用UPDATE语句实现批量修改创建数据库‘bhl_...
    99+
    2022-11-13
  • 怎么在Mysql中利用update实现多表联合更新
    今天就跟大家聊聊有关怎么在Mysql中利用update实现多表联合更新,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 执行 UPDATE stu...
    99+
    2022-10-18
  • MySQL实现数据批量更新功能详解
    目录根据不同条件批量更新同一值根据不同条件更新不同值循环遍历逐条更新foreach多条更新:case when 进行数据批量更新:根据不同条件批量更新同一值 这种场景直接通过upda...
    99+
    2023-02-11
    MySQL数据批量更新 MySQL批量更新 MySQL数据更新
  • MySQL如何实现数据批量更新功能
    本篇内容主要讲解“MySQL如何实现数据批量更新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何实现数据批量更新功能”吧!根据不同条件批量更新同一值这种场景直接通过update语...
    99+
    2023-07-05
  • postgresql 中怎么批量更新记录
    本篇文章给大家分享的是有关postgresql 中怎么批量更新记录,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 代码如下:CREA...
    99+
    2022-10-18
  • 实操MySQL+PostgreSQL批量插入更新insertOrUpdate
    目录一、百度百科1、MySQL2、PostgreSQL3、PostgreSQL相对于MySQL的优势二、postgres中insertOrUpdate代码实例1、创建user表2、简...
    99+
    2022-11-12
  • mybatisplus添加真正的批量新增、批量更新的实现
    使用mybatis-plus来进行批量新增和更新时,你会发现其实是一条条sql执行,下面进行优化。 1.添加InsertBatchMethod和UpdateBatchMethod类 ...
    99+
    2022-11-11
  • SqlServer中怎么批量update语句
    这期内容当中小编将会给大家带来有关SqlServer中怎么批量update语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。sqlserver as 语法举例1...
    99+
    2022-10-18
  • SQL update中怎么实现多表关联更新
    这篇文章给大家介绍SQL update中怎么实现多表关联更新,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。有A、B张表,其记录如下:A表c1 c2--------------...
    99+
    2022-10-18
  • ASP.NETMVC使用jQueryTemplate实现批量更新
    思路 引用jQuery Template所需要的js文件:jquery.tmpl.min.js在<script type="text/x-jquery-tmpl&qu...
    99+
    2022-11-13
    ASP.NET MVC jQuery Template 批量更新
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作