有没有一种方法可以在表名称和数据库名称可变的python的For循环中添加SQL查询? 像这样:
database = []
tables= []
column = []
for x in database:
for y in tables:
for z in column:
SQL = "select * from x.y where z is NOT NULL;"
cursor.execute(sql)`enter code here`
答案 0 :(得分:0)
只需使用字符串对象的.format()
方法来获取sql查询字符串:
SQL = "select * from {}.{} where {} is NOT NULL;".format(x, y, z)
或附加这样的值:
SQL = "select * from " + str(x) + "." + str(y) + " where " + str(z) + " is NOT NULL;"
我推荐第一个解决方案。
答案 1 :(得分:0)
只需使用字符串格式。在您的示例中:
database = []
tables= []
column = []
for x in database:
for y in tables:
for z in column:
SQL = "select * from {x}.{y} where {z} is NOT NULL;".format(x=x, y=y, z=z)
cursor.execute(sql)
这是python字符串格式化的一个示例,但是您可以使用字符串连接,% formatting
或f-strings
。