Python 使用pyodbc库操作sqlserver:使用excutemany批量执行update语句

485 篇文章 22 订阅

在Python中使用pyodbcpymssql等库连接SQL Server时,你可以通过executemany()方法来批量执行更新(UPDATE)操作。这种方式可以显著提高性能,特别是在需要更新大量记录的情况下。

下面是一个示例代码,展示如何使用pyodbc来批量执行更新操作:

  1. 安装必要的库

    pip install pyodbc
    
  2. 编写Python脚本

    import pyodbc
    
    # 连接字符串
    conn_str = (
        r'DRIVER={ODBC Driver 17 for SQL Server};'
        r'SERVER=your_server_name;'
        r'DATABASE=your_database_name;'
        r'UID=your_username;'
        r'PWD=your_password;'
    )
    
    # 批量更新的数据
    data_to_update = [
        (5, 'new_value_1', 1),
        (10, 'new_value_2', 2),
        (15, 'new_value_3', 3),
    ]
    
    # 更新语句
    update_query = """
    UPDATE your_table
    SET column1 = ?, column2 = ?
    WHERE id = ?
    """
    
    try:
        # 创建连接
        conn = pyodbc.connect(conn_str)
    
        # 创建游标
        cursor = conn.cursor()
    
        # 使用executemany执行批量更新
        cursor.executemany(update_query, data_to_update)
    
        # 提交事务
        conn.commit()
    
        print("批量更新成功")
    
    except pyodbc.Error as ex:
        sqlstate = ex.args[0]
        print(sqlstate)
        print(ex)
    
    finally:
        # 关闭连接
        if conn:
            conn.close()
    

在这个例子中,请将your_server_name, your_database_name, your_username, your_password, your_table, column1, column2id替换为你的实际值。

如果你使用的是pymssql,那么基本的流程是相同的,只是库的导入和连接方式会有所不同。例如,连接字符串不需要使用ODBC驱动程序,而是直接指定服务器、数据库、用户名和密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值