Добавление SQL-запросов в For Loop в Python - PullRequest
0 голосов
/ 18 февраля 2019

Есть ли способ добавить запросы SQL в цикл For в Python, где имена таблиц и имен баз данных являются переменными?Как то так:

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`

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Просто используйте форматирование строки.В вашем примере:

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.

0 голосов
/ 18 февраля 2019

Просто используйте .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;"

Я рекомендую первое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...