Ich versuche, den besten Weg zum Formatieren einer SQL-Abfragezeichenfolge zu finden. Wenn ich meine Anwendung debugge, möchte ich mich anmelden, um alle SQL-Abfragezeichenfolgen abzulegen, und es ist wichtig, dass die Zeichenfolge ordnungsgemäß formatiert ist.
Option 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- Dies ist gut zum Drucken der SQL-Zeichenfolge.
- Es ist keine gute Lösung, wenn die Zeichenfolge lang ist und nicht der Standardbreite von 80 Zeichen entspricht.
Option 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
Hier ist der Code klar, aber wenn Sie die SQL-Abfragezeichenfolge drucken, erhalten Sie all diese nervigen Leerzeichen.
u '\ nSelect feld1, field2, field3, Field4 \ n_ _ ___ aus Tabelle \ n _ ___ wo condition1 = 1 \ n _ ___ _and condition2 = 2'
Hinweis: Ich habe Leerzeichen durch Unterstriche ersetzt _, da sie vom Editor abgeschnitten werden
Option 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- Ich mag diese Option nicht, weil sie die Klarheit des gut tabellierten Codes beeinträchtigt.
Option 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- Ich mag diese Option nicht, weil all die zusätzlichen Eingaben in jeder Zeile und es schwierig ist, die Abfrage auch zu bearbeiten.
Für mich wäre die beste Lösung Option 2, aber ich mag die zusätzlichen Leerzeichen nicht, wenn ich die SQL-Zeichenfolge drucke.
Kennen Sie andere Möglichkeiten?