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语句轻微繁芜点,但是只需实行一次查询即可,语法如下:
这样的SQL语句是很随意马虎理解的,也便是用到了很多编程措辞都有的关键字 CASE,根据id字段值来进行不同分支确当型判断,

如果你须要更新一行记录的多个字段,可以用以下SQL语句:
以上方案大大减少了数据库的查询操作次数,大大节约了系统资源
不过这个有个缺陷 : 要把稳的问题是SQL语句的长度,须要考虑程序运行环境所支持的字符串长度,当然这也可以更新mysql的设置来扩展。
当然python这么强大的措辞还给我们供应了executemany 这么强大的方法 ,它不仅可以插入数据 当然也可以用于更新数据 作为一个常常搞事情的人 这些东西要常常相互用下 才可以比拟出结果
是不是这个更方便一些 但是吗 速率 问题 我觉得可以和第二种结合一下比拟一下会更好呢
后面