J'essaie de trouver la meilleure façon de formater une chaîne de requête sql. Quand je suis débogage mon application j'aimerais log dans un fichier toutes les chaînes de requête sql, et il est important que la chaîne est correctement formaté.
Option 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- Ce qui est bon pour l'impression de la chaîne sql.
- Ce n'est pas une bonne solution si la chaîne est longue et ne s'adapte à la largeur standard de 80 caractères.
Option 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
-
Ici le code est clair, mais quand vous imprimez la chaîne de requête sql que vous obtenez tous ces ennuyeux des espaces blancs.
u'\nchoisir champ1, champ2, champ3, field4\n_____à partir du tableau\n____où condition1=1 \n_____and condition2=2'
Note: j'ai remplacé les espaces blanc avec trait de soulignement _
,, car ils sont garnis par l'éditeur
Option 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- Je n'aime pas cette option, car elle se casse la clarté du bien compilé le code.
Option 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- Je n'aime pas cette option, car tout le taper dans chaque ligne et il est difficile de modifier la requête, aussi.
Pour moi, la meilleure solution serait l'Option 2 , mais je n'aime pas les extra espaces lorsque j'imprime la chaîne sql.
Connaissez-vous d'autres options?