एक डेटाबेस नाम (न ही कॉलम या टेबल नाम) डेटा मान नहीं हैं, और इस प्रकार प्लेसहोल्डर का उपयुक्त उपयोग नहीं है। ऐसा करने की इच्छा आमतौर पर एक बुरा संकेत है; केवल DBA एक create database
जारी करने में सक्षम होना चाहिए , क्योंकि ऐसा करने के लिए कुछ महत्वपूर्ण विशेषाधिकारों की आवश्यकता होती है। अधिकांश अनुप्रयोगों को डेटाबेस बनाने के लिए DBA की आवश्यकता होती है, और फिर बनाए गए डेटाबेस को dbapi.Connection के तर्कों में उपयोग किए जाने वाले पैरामीटर के रूप में लेते हैं।
यदि आप सुनिश्चित हैं कि आपको इसकी आवश्यकता है, तो आप इनपुट के स्रोत पर भरोसा करते हैं, और आपने अमान्य वर्णों के लिए इनपुट की जाँच की है, आप बस अजगर में प्रतिस्थापन करेंगे, कुछ इस तरह:
def createDB(dbConn, dbName):
c = dbConn.cursor()
query = """CREATE DATABASE %s;""" % dbName
c.execute(query)