Saya mencoba menemukan cara terbaik untuk memformat string kueri sql. Ketika saya men-debug aplikasi saya, saya ingin masuk ke file semua string kueri sql, dan penting bahwa string tersebut diformat dengan benar.
Pilihan 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- Ini bagus untuk mencetak string sql.
- Ini bukan solusi yang baik jika stringnya panjang dan tidak sesuai dengan lebar standar 80 karakter.
pilihan 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
Di sini kodenya jelas tetapi ketika Anda mencetak string kueri sql Anda mendapatkan semua ruang putih yang mengganggu ini.
u '\ npilih bidang1, bidang2, bidang3, bidang4 \ n_ _ ___ dari tabel \ n _ ___ di mana condition1 = 1 \ n _ ___ _and condition2 = 2'
Catatan: Saya telah mengganti spasi putih dengan garis bawah _
, karena mereka dipangkas oleh editor
Pilihan 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- Saya tidak suka opsi ini karena merusak kejelasan kode yang ditabulasikan dengan baik.
Pilihan 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- Saya tidak suka opsi ini karena semua pengetikan tambahan di setiap baris dan sulit juga untuk mengedit kueri.
Bagi saya solusi terbaik adalah Opsi 2 tetapi saya tidak suka spasi ekstra ketika saya mencetak string sql.
Apakah Anda mengetahui opsi lain?