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

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

  1. 安装必要的库
pip install pyodbc
  1. 编写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驱动程序,而是直接指定服务器、数据库、用户名和密码。