Sto cercando di trovare il modo migliore per formattare una stringa di query sql. Quando eseguo il debug della mia applicazione, vorrei registrare in un file tutte le stringhe di query sql ed è importante che la stringa sia formattata correttamente.
opzione 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- Questo è utile per stampare la stringa sql.
- Non è una buona soluzione se la stringa è lunga e non si adatta alla larghezza standard di 80 caratteri.
opzione 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
Qui il codice è chiaro ma quando si stampa la stringa di query sql si ottengono tutti questi fastidiosi spazi bianchi.
u '\ nseleziona campo1, campo2, campo3, campo4 \ n_ _ ___ dalla tabella \ n _ ___ dove condizione1 = 1 \ n _ ___ _ e condizione2 = 2'
Nota: ho sostituito gli spazi bianchi con il carattere di sottolineatura _
, perché vengono tagliati dall'editor
Opzione 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- Non mi piace questa opzione perché rompe la chiarezza del codice ben tabulato.
Opzione 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- Non mi piace questa opzione perché tutta la digitazione extra in ogni riga ed è difficile anche modificare la query.
Per me la soluzione migliore sarebbe l' opzione 2, ma non mi piacciono gli spazi bianchi extra quando stampo la stringa sql.
Conosci altre opzioni?