python给sql传参
时间: 2023-12-04 14:05:46 浏览: 90
在Python中,可以使用参数化查询的方式将参数传递给SQL语句,以避免SQL注入攻击,并提高SQL语句的执行效率。
具体实现方式如下:
1. 使用数据库连接对象的`cursor()`方法创建游标对象。
```
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "username", "password", "database_name")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
```
2. 编写SQL语句,使用占位符(`%s`)代替参数。
```
# SQL 查询语句
sql = "SELECT * FROM table_name WHERE column_name = %s"
```
3. 将参数传递给`execute()`方法,以元组或字典的形式传递参数值。
使用元组传递参数:
```
# 执行 SQL 查询语句
cursor.execute(sql, ('param_value',))
```
使用字典传递参数:
```
# 执行 SQL 查询语句
cursor.execute(sql, {'param_name': 'param_value'})
```
4. 获取查询结果。
```
# 获取所有记录列表
results = cursor.fetchall()
# 遍历结果
for row in results:
# 打印结果
print(row)
```
5. 关闭游标和数据库连接。
```
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()
```
以上就是使用Python给SQL传参的方法。
阅读全文