Я пытаюсь найти лучший способ форматирования строки запроса sql. Когда я отлаживаю мое приложение, которое я хотел бы зарегистрировать, чтобы записать все строки запроса sql, и это важно, чтобы строка была правильно сформирована.
Вариант 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- Это полезно для печати строки sql.
- Это нехорошее решение, если строка длинная и не соответствует стандартной ширине 80 символов.
Вариант 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
-
Здесь код ясен, но когда вы печатаете строку запроса sql, вы получаете все эти раздражающие пробелы.
u '\nизбрать поле1, поле2, поле3, поле4\n_ ____ из таблицы \n ____, где условие1 = 1\n ____ _and condition2 = 2 '
Примечание. Я заменил белые пробелы символом подчеркивания _
, потому что они обрезаны редактором
Вариант 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- Мне не нравится этот параметр, потому что он нарушает ясность кода с таблицей с таблицей.
Вариант 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- Мне не нравится этот параметр, потому что все дополнительные ввода в каждой строке и также трудно редактировать запрос.
Для меня лучшим решением будет Вариант 2, но мне не нравятся лишние пробелы при печати строки sql.
Знаете ли вы какие-либо другие варианты?