python中使用excutemany执行update语句,批量更新


python中使用excutemany执行update语句,批量更新


# coding:utf8
import pymysql
import logging

connection = pymysql.connect(host=HOST, port=3306, user=USER, password=PASSWORD,
               db=DATABASE,charset=‘utf8mb4‘,cursorclass=pymysql.cursors.DictCursor)
cursor = connection.cursor()
flag_List = ["A", "B", "C", "D"]  # 存储flage的值
id_list = ["1", "2", "3", "4"]  # 存储id的值
commit_id_list = [(flag_List[i], id_list[i]) for i in range(len(id_list))]
# commit_id_list必须是list[tuple(),tuple()...]或tuple(tuple(),tuple()...)的形式

with connection.cursor() as cursor:
    try:
        sql = "update mydatabase SET flag=(%s) where id=(%s)"
        cursor.executemany(sql, commit_id_list)  # commit_id_list上面已经说明
        connection.commit()
    except:
        logging.exception("exception")
        connection.rollback()
connection.close()

原文地址:https://www.cnblogs.com/xiao-xue-di/p/11969138.html

时间: 2024-08-10 23:26:24

python中使用excutemany执行update语句,批量更新的相关文章

Python中的if __name__='__main__'语句的作用

笔者在自学Python的过程中,对于if __name__='__main__'的用法感到很困惑,在think Python一书中原作者的源代码是这么解释if __name__='__main__'语句的: # the following condition checks whether we are # running as a script, in which case run the test code, # or being imported, in which case don't.

mysql执行update语句时报错:Data truncation: Truncated incorrect DOUBLE value: 'null'

出现这个问题的原因网上有说是update的参数连接符要用,而不是and,但是我遇到的不是这个. 我出现问题的原因是,在update语句的where中varchar类型的字段我直接用了数字类型 update address set province = '北京' where userId = 250; userId是varchar类型的,报错Data truncation: Truncated incorrect DOUBLE value: 'null' 改成这样就可以了 update addre

SQL UPDATE 语句:更新表中的记录语法及案例剖析

SQL UPDATE 语句 UPDATE 语句用于更新表中的记录. SQL UPDATE 语句 UPDATE 语句用于更新表中已存在的记录. SQL UPDATE 语法 UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value; 请注意 SQL UPDATE 语句中的 WHERE 子句! WHERE 子句规定哪条记录或者哪些记录需要更新.如果您省略了 WHERE 子句,所有的记录都将被

python基础教程:Python中垃圾回收和del语句详解

Python语言默认采用的垃圾收集机制是引用计数法,本文详细的介绍了Python中垃圾回收和del语句详解,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧Python中的垃圾回收算法是采用引用计数, 当一个对象的引用计数为0时, Python的垃圾回收机制就会将对象回收 https://tieba.baidu.com/p/6575202861 a = "larry"b = ahttps://www.douban.com/group/topic/16

python之django直接执行sql语句

python之django直接执行sql语句 sql = 'select * from stu' info = 模型类.objects.raw(sql)

python中关于不执行if __name__ == '__main__':测试模块的解决

1.新建测试脚本文件: 2.编辑测试脚本 import unittest import requests import json import HTMLTestRunner ur1 = 'http://118.178.247.67:8081/systLogonUser/adminLogon.do' headers = {'Content-Type':'application/x-www-form-urlencoded','Referer':'118.178.247.67'} data = { '

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

python 中如何去执行批量的.py文件

因为有一次系统大重构,开发任务繁重,身为测试的我接下数据迁移的重担,原来是sqlsever的数据库,重构后的系统为mysql,所以用上了python 去做这个数据迁移 先写了一大堆脚本文件,一个表写了一个脚本文件,写的时候挺开心的,写一个调试一个,最后写完后发现,我要执行怎么办,不能一个一个去点击执行吧 看着一大堆文件,我要怎么去批量执行他们呢, 首先我用的编辑器是pycharm,那就介绍下它自带的一个功能, 打开pycharm ,在上方一栏中找到run 然后再run里面找到 Edit Conf

Python连接MySQL数据库执行sql语句时的参数问题

由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入字符串 try: connection = MySQLdb.connect(user="secsel",passwd="[email protected]",host="192.168.138.55",db="anbench")