Nama database (atau nama kolom atau tabel) bukan nilai data, dan dengan demikian bukan penggunaan placeholder yang tepat. ingin melakukan ini biasanya merupakan pertanda buruk; hanya DBA yang dapat mengeluarkan create database
, karena melakukannya memerlukan beberapa hak istimewa yang cukup besar. Sebagian besar aplikasi memerlukan DBA untuk mengeluarkan database create, dan kemudian mengambil database yang dibuat sebagai parameter untuk digunakan dalam argumen ke dbapi.Connection.
Jika Anda yakin membutuhkan ini, Anda mempercayai sumber input, dan Anda telah memeriksa input untuk karakter yang tidak valid, Anda cukup melakukan substitusi dengan python, seperti:
def createDB(dbConn, dbName):
c = dbConn.cursor()
query = """CREATE DATABASE %s;""" % dbName
c.execute(query)