如何在 Python 中使用 SQL Server 执行多条语句

在开始进行 Python 与 SQL Server 的交互之前,我们需要先了解整个流程。下面的表格展示了实现这一任务的主要步骤:

步骤 描述
1 安装所需的库
2 连接 SQL Server
3 执行多条 SQL 语句
4 关闭连接

接下来,我们将详细介绍每一个步骤,并提供具体的代码示例。

步骤 1:安装所需的库

首先,我们需要安装 pyodbc 这个库,它是 Python 中与 SQL Server 进行连接的主要工具。你可以使用以下命令进行安装:

pip install pyodbc

解释pip 是 Python 的包管理工具,而 pyodbc 是用于 Python 和 ODBC 数据源之间交互的库。

步骤 2:连接 SQL Server

在成功安装库后,我们要创建一个到 SQL Server 的连接。以下是连接数据库的代码示例:

import pyodbc  # 导入 pyodbc 库

# 设置数据库连接参数
server = '你的服务器地址'  # 替换为你的服务器地址
database = '你的数据库名'  # 替换为你的数据库名
username = '你的用户名'    # 替换为你的用户名
password = '你的密码'      # 替换为你的密码

# 创建连接字符串并进行连接
try:
    conn = pyodbc.connect(
        f'DRIVER={{SQL Server}};SERVER={server};DATABASE={database};UID={username};PWD={password}'
    )
    print("连接成功")
except Exception as e:
    print("连接失败:", e)

解释:这段代码导入了 pyodbc 库,并通过构造连接字符串来连接 SQL Server。如果连接失败,会打印出错误信息。

步骤 3:执行多条 SQL 语句

连接成功后,我们可以执行多条 SQL 语句。以下是执行多条语句的代码示例:

cursor = conn.cursor()  # 创建一个游标对象,用于执行 SQL 语句

# 定义多条 SQL 语句
sql_statements = [
    "DELETE FROM test_table WHERE id = 1;",  # 删除 ID 为 1 的记录
    "INSERT INTO test_table (id, name) VALUES (1, 'Alice');",  # 插入一条新记录
    "UPDATE test_table SET name = 'Bob' WHERE id = 1;"  # 更新 ID 为 1 的记录
]

# 执行 SQL 语句
try:
    for statement in sql_statements:
        cursor.execute(statement)  # 执行当前的 SQL 语句
    conn.commit()  # 提交更改
    print("所有语句执行成功")
except Exception as e:
    conn.rollback()  # 如果有错误,回滚所有更改
    print("执行失败:", e)
finally:
    cursor.close()  # 关闭游标

解释:这里我们首先创建了一个游标对象,然后定义了一组 SQL 语句。在循环中,我们依次执行每条语句,并在最后提交更改到数据库。如果有任何错误发生,会进行回滚操作,从而避免数据不一致的问题。

步骤 4:关闭连接

最后,完成操作后,记得关闭数据库连接。

conn.close()  # 关闭数据库连接
print("连接已关闭")

解释:这里我们使用 conn.close() 关闭与 SQL Server 的连接,释放资源。

结尾

通过以上步骤,你应该能够在 Python 中与 SQL Server 进行交互并执行多条 SQL 语句。这是数据操作中常用的基本技能,希望对你有所帮助。继续学习并实践,你一定能成为一名出色的开发者!