通常情况下。我们会使用以下SQL语句来更新字段值:
UPDATEmytableSETmyfield='value'WHEREother_field='other_value';
但是。如果你想更新多行数据。并且每行记录的各字段值都是各不一样。你会怎么办呢?刚开始你可能会想到使用循环执行多条UPDATE语句的方式。就像以下的python程序示例:
forxinxrange(10):sql='''UPDATEmytableSETmyfield='value'WHEREother_field='other_value';'''
这种方法并没有什么任何错误。并且代码简单易懂。但是在循环语句中执行了不止一次SQL查询。在做系统优化的时候。我们总是想尽可能的减少数据库查询的次数。以减少资源占用。同时可以提高系统速度。幸运的是。还有更好的解决方案。只不过SQL语句稍微复杂点。但是只需执行一次查询即可。语法如下:
这样的SQL语句是很容易理解的。也就是用到了很多编程语言都有的关键字 CASE。根据id字段值来进行不同分支的当型判断。
如果你需要更新一行记录的多个字段。可以用以下SQL语句:
以上方案大大减少了数据库的查询操作次数。大大节约了系统资源
不过这个有个缺点 : 要注意的问题是SQL语句的长度。需要考虑程序运行环境所支持的字符串长度。当然这也可以更新mysql的设置来扩展。
当然python这么强大的语言还给我们提供了executemany 这么强大的方法 。它不仅可以插入数据 当然也可以用于更新数据 作为一个经常搞事情的人 这些东西要经常相互用下 才可以对比出结果
是不是这个更方便一些 但是吗 速度 问题 我感觉可以和第二种结合一下对比一下会更好呢
以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:http://www.shenzhoubaby.com/15134.html,转载请说明来源于:生活常识网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系@qq.com进行处理。分享目的仅供大家学习与参考,不代表本站立场。