把mysql 中数据库名作为条件动态传入sql中
时间: 2023-05-23 16:04:18 浏览: 110
将数据导入到mysql数据库中
4星 · 用户满意度95%
A: 为了将 MySQL 中的数据库名作为条件动态传入 SQL 中,需要采用动态 SQL 的方法。通过拼接字符串来生成一条动态 SQL 语句,然后执行该语句。以下是一个示例代码:
```python
import mysql.connector
# 连接到 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
# 创建游标对象
mycursor = mydb.cursor()
# 定义数据库名
dbname = 'customers'
# 构造动态 SQL 语句
sql = "SELECT * FROM " + dbname + " WHERE address = %s"
# 定义查询条件
address = "Street 123"
# 执行 SQL 语句
mycursor.execute(sql, (address, ))
# 获取查询结果
myresult = mycursor.fetchall()
# 输出结果
for x in myresult:
print(x)
```
在上面的示例中,我们使用了 `dbname` 变量来表示要查询的数据库名,构造了一条动态 SQL 语句,然后使用 `execute()` 方法执行 SQL 语句,并将查询条件 `address` 作为参数传递给 `execute()` 方法。注意,为了防止 SQL 注入攻击,我们使用了参数化查询。最后,我们使用 `fetchall()` 方法获取查询结果,并对查询结果进行遍历输出。
阅读全文