通常情况下 。我们会使用以下SQL语句来更新字段值:
UPDATEmytableSETmyfield='value'WHEREother_field='other_value';但是 。如果你想更新多行数据 。并且每行记录的各字段值都是各不一样 。你会怎么办呢?刚开始你可能会想到使用循环执行多条UPDATE语句的方式 。就像以下的python程序示例:
forxinxrange(10):sql='''UPDATEmytableSETmyfield='value'WHEREother_field='other_value';'''这种方法并没有什么任何错误 。并且代码简单易懂 。但是在循环语句中执行了不止一次SQL查询 。在做系统优化的时候 。我们总是想尽可能的减少数据库查询的次数 。以减少资源占用 。同时可以提高系统速度 。幸运的是 。还有更好的解决方案 。只不过SQL语句稍微复杂点 。但是只需执行一次查询即可 。语法如下:
文章插图
文章插图
这样的SQL语句是很容易理解的 。也就是用到了很多编程语言都有的关键字 CASE 。根据id字段值来进行不同分支的当型判断 。
如果你需要更新一行记录的多个字段 。可以用以下SQL语句:
文章插图
文章插图
【mysql刷新命令 mysql安装及配置超详细教程】以上方案大大减少了数据库的查询操作次数 。大大节约了系统资源
不过这个有个缺点 : 要注意的问题是SQL语句的长度 。需要考虑程序运行环境所支持的字符串长度 。当然这也可以更新mysql的设置来扩展 。
当然python这么强大的语言还给我们提供了executemany 这么强大的方法。它不仅可以插入数据 当然也可以用于更新数据 作为一个经常搞事情的人 这些东西要经常相互用下 才可以对比出结果
文章插图
文章插图
是不是这个更方便一些 但是吗 速度 问题 我感觉可以和第二种结合一下对比一下会更好呢
推荐阅读
- 香蕉饼怎么做?
- 勒布朗詹姆斯这些年的打脸言论都有哪些?
- 做鸡蛋饼的时候为什么会是硬的而不是软的?
- 搞笑人名字大全 笑死人的搞笑名字
- 在历史得分榜上成功超越乔丹,一起来说说你心目中的勒布朗·詹姆斯?
- 土豆和鸡蛋怎么做最好吃?
- 现在干什么最挣钱 5个赚钱的小生意
- 说说吧,你为什么喜欢詹姆斯?
- 面粉和鸡蛋能做什么小吃?