ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการจัดรูปแบบสตริงการสืบค้น sql เมื่อฉันดีบักแอปพลิเคชันของฉันฉันต้องการเข้าสู่ไฟล์สตริงการสืบค้น sql ทั้งหมดและสิ่งสำคัญคือสตริงจะถูกจัดรูปแบบอย่างถูกต้อง
ตัวเลือกที่ 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- สิ่งนี้เหมาะสำหรับการพิมพ์สตริง sql
- ไม่ใช่วิธีแก้ปัญหาที่ดีหากสตริงยาวและไม่พอดีกับความกว้างมาตรฐาน 80 อักขระ
ทางเลือกที่ 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
ที่นี่รหัสชัดเจน แต่เมื่อคุณพิมพ์สตริงการสืบค้น sql คุณจะได้ช่องว่างสีขาวที่น่ารำคาญเหล่านี้
คุณ '\ n เลือกฟิลด์ 1 ฟิลด์ 2 ฟิลด์ 3 ฟิลด์ 4 \ n_ _ ___ จากตาราง \ n _ ___ โดยที่เงื่อนไข 1 = 1 \ n _ ___ _ และเงื่อนไข 2 = 2'
หมายเหตุ: ฉันได้แทนที่ช่องว่างสีขาวด้วยขีดล่าง_
เนื่องจากถูกตัดแต่งโดยตัวแก้ไข
ตัวเลือก 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- ฉันไม่ชอบตัวเลือกนี้เพราะมันทำลายความชัดเจนของโค้ดที่เป็นตารางอย่างดี
ทางเลือกที่ 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- ฉันไม่ชอบตัวเลือกนี้เพราะการพิมพ์พิเศษทั้งหมดในแต่ละบรรทัดและยังแก้ไขแบบสอบถามได้ยากด้วย
สำหรับฉันทางออกที่ดีที่สุดคือตัวเลือก 2แต่ฉันไม่ชอบช่องว่างพิเศษเมื่อฉันพิมพ์สตริง sql
คุณรู้จักตัวเลือกอื่น ๆ หรือไม่?