आधिकारिक दस्तावेज के अनुसार:
<ब्लॉकक्वॉट>यदि आपको गतिशील रूप से एक SQL क्वेरी उत्पन्न करने की आवश्यकता है (उदाहरण के लिए गतिशील रूप से तालिका का नाम चुनना ) आप psycopg2.sql मॉड्यूल द्वारा प्रदान की गई सुविधाओं का उपयोग कर सकते हैं।
sql
मॉड्यूल psycopg2 संस्करण 2.7 में नया है। इसमें निम्नलिखित सिंटैक्स है:
from psycopg2 import sql
cur.execute(
sql.SQL("insert into {} values (%s, %s)")
.format(sql.Identifier('my_table')),
[10, 20])
और अधिक:http://initd.org/psycopg/docs/sql.html#module-psycopg2.sql
[अद्यतन 2017-03-24:AsIs
तालिका या फ़ील्ड नामों का प्रतिनिधित्व करने के लिए उपयोग नहीं किया जाना चाहिए, नया sql
इसके बजाय मॉड्यूल का उपयोग किया जाना चाहिए:https://stackoverflow.com/a/42980069/5285608 ]
इसके अलावा, psycopg2 दस्तावेज़ीकरण के अनुसार:
<ब्लॉकक्वॉट>
चेतावनी :कभी नहीं, कभी नहीं , कभी नहीं पायथन स्ट्रिंग कॉन्सटेनेशन का उपयोग करें (+
) या स्ट्रिंग पैरामीटर इंटरपोलेशन (%
) SQL क्वेरी स्ट्रिंग में चर पास करने के लिए। बंदूक की नोक पर भी नहीं।