मैं एक sql क्वेरी स्ट्रिंग को प्रारूपित करने का सबसे अच्छा तरीका खोजने की कोशिश कर रहा हूँ। जब मैं अपना एप्लिकेशन डीबग कर रहा हूं, तो मैं सभी sql क्वेरी स्ट्रिंग्स को दर्ज करने के लिए लॉग इन करना चाहूंगा, और यह महत्वपूर्ण है कि स्ट्रिंग ठीक से तैयार की गई हो।
विकल्प 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- यह sql string को प्रिंट करने के लिए अच्छा है।
- यह एक अच्छा समाधान नहीं है यदि स्ट्रिंग लंबी है और 80 वर्णों की मानक चौड़ाई के अनुरूप नहीं है।
विकल्प 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
यहां कोड स्पष्ट है लेकिन जब आप sql क्वेरी स्ट्रिंग प्रिंट करते हैं तो आपको ये सभी कष्टप्रद सफेद स्थान मिलते हैं।
u '\ nselect फ़ील्ड 1, फ़ील्ड 2, फ़ील्ड 3, फ़ील्ड 4 \ n_ _ ___ टेबल से \ n _ ___ जहां condition1 = 1 \ n _ ___ _and condition2 = 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 स्ट्रिंग प्रिंट करता हूं तो मुझे अतिरिक्त व्हाट्सएप पसंद नहीं है।
क्या आप किसी अन्य विकल्प के बारे में जानते हैं?