J'essaie de trouver le meilleur moyen de formater une chaîne de requête SQL. Lorsque je débogue mon application, j'aimerais me connecter pour classer toutes les chaînes de requête SQL, et il est important que la chaîne soit correctement formatée.
Option 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- C'est bon pour imprimer la chaîne sql.
- Ce n'est pas une bonne solution si la chaîne est longue et ne correspond pas à 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 lorsque vous imprimez la chaîne de requête SQL, vous obtenez tous ces espaces blancs ennuyeux.
u '\ nsélectionnez champ1, champ2, champ3, champ4 \ n_ _ ___ de la table \ n _ ___ où condition1 = 1 \ n _ ___ _et condition2 = 2'
Remarque: j'ai remplacé les espaces blancs par des traits de soulignement _
, car ils sont coupés 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 brise la clarté du code bien tabulé.
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 toute la saisie supplémentaire dans chaque ligne et il est également difficile de modifier la requête.
Pour moi, la meilleure solution serait l' option 2 mais je n'aime pas les espaces supplémentaires lorsque j'imprime la chaîne sql.
Connaissez-vous d'autres options?