Python mysql多条件动态查询
时间: 2023-10-09 15:13:41 浏览: 90
你可以使用 Python 的字符串拼接和格式化功能来动态生成多条件查询语句。以下是一个示例 Python 脚本,该脚本使用 MySQL Connector 模块连接到 MySQL 数据库并执行动态多条件查询:
```python
import mysql.connector
# 连接到 MySQL 数据库
db = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database_name"
)
# 获取游标
cursor = db.cursor()
# 定义查询条件
conditions = {
'column1': 'value1',
'column2': 'value2',
'column3': 'value3'
}
# 动态生成查询语句
query = "SELECT * FROM table_name WHERE "
for key, value in conditions.items():
query += f"{key} = '{value}' AND "
query = query[:-5] + ";"
# 执行查询语句
cursor.execute(query)
# 获取查询结果
result = cursor.fetchall()
# 打印查询结果
for row in result:
print(row)
# 关闭游标和数据库连接
cursor.close()
db.close()
```
在此示例中,`conditions` 变量定义了多个查询条件,它是一个字典,其中键为列名,值为查询值。在动态生成查询语句时,使用 `for` 循环遍历字典中的键值对,并使用字符串格式化功能将列名和查询值拼接到查询语句中。最后,使用字符串切片去除查询语句的末尾 `AND` 并添加分号,然后执行查询语句。你需要将 `host`、`user`、`password` 和 `database` 参数替换为你的 MySQL 服务器信息和数据库名称,并将 `table_name`、`column1`、`column2` 和 `column3` 替换为你的表名和列名。
阅读全文