আমি একটি এসকিউএল ক্যোয়ারী স্ট্রিং ফর্ম্যাট করার সর্বোত্তম উপায় সন্ধান করার চেষ্টা করছি। আমি যখন আমার অ্যাপ্লিকেশনটি ডিবাগ করছি তখন আমি সমস্ত স্ক্যুয়েল ক্যোয়ারী স্ট্রিং ফাইল করতে লগ করতে চাই এবং এটি গুরুত্বপূর্ণ যে স্ট্রিংটি সঠিকভাবে ফর্ম্যাট করা হয়েছে।
বিকল্প 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- এটি স্কয়ার স্ট্রিং প্রিন্ট করার জন্য ভাল।
- স্ট্রিংটি দীর্ঘ এবং 80 টি অক্ষরের মানক প্রস্থের সাথে মানানসই না হলে এটি কোনও ভাল সমাধান নয়।
বিকল্প 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
এখানে কোডটি স্পষ্ট তবে আপনি যখন স্কয়ার কোয়েরি স্ট্রিংটি মুদ্রণ করবেন তখন আপনি এই সমস্ত বিরক্তিকর সাদা স্পেস পেয়ে যাবেন।
আপনি 'field n ক্ষেত্র 1, ফিল্ড 2, ফিল্ড 3, ফিল্ড 4 field 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 হবে তবে আমি যখন এসকিএল স্ট্রিংটি প্রিন্ট করি তখন অতিরিক্ত হোয়াইটস্পেসগুলি আমি পছন্দ করি না।
আপনি অন্য কোন বিকল্প জানেন?