pymysql占位符
时间: 2023-09-10 14:12:00 浏览: 244
pymysql 是 Python 中用于连接和操作 MySQL 数据库的库。占位符是一种在 SQL 查询中使用的特殊标记,用于将查询中的参数与实际值分开,以提高查询的安全性和性能。在 pymysql 中,可以使用占位符来执行带有参数的 SQL 查询。
常用的占位符有两种形式:
1. 问号占位符(?):使用问号作为占位符,查询参数按照顺序传递给 execute() 方法。示例代码如下:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='your_username', password='your_password', db='your_database')
# 创建游标对象
cur = conn.cursor()
# 执行带有占位符的 SQL 查询
sql = "SELECT * FROM your_table WHERE id = ?"
cur.execute(sql, (1,)) # 注意参数传递的方式,需要将参数放在一个元组中
# 获取查询结果
result = cur.fetchall()
# 关闭游标和连接
cur.close()
conn.close()
```
2. 命名占位符(:name):使用冒号加参数名的形式作为占位符,查询参数通过字典形式传递给 execute() 方法。示例代码如下:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='your_username', password='your_password', db='your_database')
# 创建游标对象
cur = conn.cursor()
# 执行带有占位符的 SQL 查询
sql = "SELECT * FROM your_table WHERE id = :id"
cur.execute(sql, {'id': 1}) # 注意参数传递的方式,使用字典形式传递参数
# 获取查询结果
result = cur.fetchall()
# 关闭游标和连接
cur.close()
conn.close()
```
这些示例演示了在 pymysql 中使用占位符执行 SQL 查询的常用方法。占位符的使用可以有效防止 SQL 注入攻击,并提高查询的性能。
阅读全文