#python #sql #oracle #format
#python #sql #Oracle #форматирование
Вопрос:
До сих пор я копировал и вставлял из SQL в простые коды Python, где я использовал следующие форматы:
sql = ("SELECT column1, column2, column3, column4 "
"FROM table1 "
"LEFT OUTER JOIN table2 ON x = y "
"LEFT OUTER JOIN table3 ON table3.z = table1.y "
Однако теперь я начал копировать в Python самые большие и более сложные SQL-коды, и мне довольно сложно использовать тот же формат, что и выше, поскольку столбцы начинают содержать вложенные коды. Я видел некоторые пакеты python, которые форматируют код SQL в python, и мне было интересно, какой из них вы предлагаете или какой лучший и более быстрый способ преодолеть эту ситуацию.
Ответ №1:
Вы можете использовать многострочные строки python, которые начинаются и заканчиваются тремя ` ```This is a
a multi
line
string```
и не беспокойтесь о форматировании. Это то, что я обычно использую для таких целей, но в идеале вы должны использовать ORM
Для справки, пожалуйста, проверьте
Ответ №2:
Для удобства чтения вы можете попробовать следующее
Например:
sql = """ SELECT country, product, SUM(profit) FROM sales left join
x on x.id=sales.k GROUP BY country, product having f > 7 and fk=9
limit 5; """
приведет к:
sql = """
SELECT
country,
product,
SUM(profit)
FROM
sales
LEFT JOIN x ON
x.id = sales.k
GROUP BY
country,
product
HAVING
f > 7
AND fk = 9
LIMIT 5; """