pyodbc
是一个 Python 库,用于连接 ODBC 兼容数据库并执行 SQL 查询。预处理语句(Prepared Statements)是一种优化技术,允许您在执行之前预先编译 SQL 语句。这有助于防止 SQL 注入攻击,并提高查询性能。
在 pyodbc
中,您可以使用问号 ?
作为参数占位符。以下是如何列出预处理语句中的参数的示例:
首先,确保已安装 pyodbc
:
pip install pyodbc
然后,创建一个简单的 Python 脚本来连接到数据库并执行预处理语句:
import pyodbc
# 连接到数据库
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=mydb;UID=myuser;PWD=mypassword')
cursor = cnxn.cursor()
# 定义预处理语句
sql = "INSERT INTO users (name, age) VALUES (?, ?)"
# 列出预处理语句中的参数
params = ['John Doe', 30]
# 执行预处理语句
cursor.execute(sql, params)
# 提交更改
cnxn.commit()
# 关闭连接
cursor.close()
cn’t forget to close the connection
cnxn.close()
在这个例子中,预处理语句 sql
包含两个参数占位符 ?
。我们将这些参数存储在列表 params
中,并在执行预处理语句时将其传递给 cursor.execute()
方法。
领取专属 10元无门槛券
手把手带您无忧上云