pymysql 中,一个变量有多个值,怎么使用
时间: 2024-02-05 20:12:50 浏览: 89
如果一个变量需要存储多个值,可以使用 Python 中的列表或元组来存储。然后可以使用 SQL 的 IN 关键字将列表或元组中的值传递给 SQL 查询语句中的占位符。例如:
```python
import pymysql
# 假设有一个包含多个用户 ID 的列表
user_ids = [1, 2, 3, 4, 5]
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test')
# 使用 IN 关键字查询多个用户的信息
sql = 'SELECT * FROM users WHERE id IN (%s)'
placeholders = ','.join(['%s'] * len(user_ids)) # 构造占位符字符串,例如 '%s,%s,%s,%s,%s'
query = sql % placeholders
cursor = conn.cursor()
cursor.execute(query, user_ids)
result = cursor.fetchall()
# 打印查询结果
for row in result:
print(row)
# 关闭数据库连接
cursor.close()
conn.close()
```
在上面的代码中,我们首先定义了一个包含多个用户 ID 的列表 `user_ids`。然后使用 IN 关键字构造了一个 SQL 查询语句,其中用占位符 `%s` 代替了每个用户 ID。接着使用 `','.join(['%s'] * len(user_ids))` 构造了一个占位符字符串,例如 '%s,%s,%s,%s,%s',其中每个 `%s` 都对应一个用户 ID。最后执行 SQL 查询时,将列表 `user_ids` 作为参数传递给 `cursor.execute()` 函数即可。
阅读全文