Я намагаюся знайти найкращий спосіб форматування рядка запиту 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 _ ___ _і умова2 = 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.
Чи знаєте ви ще якісь варіанти?