Un nome di database (né nomi di colonne o tabelle) non sono valori di dati e quindi non sono un uso appropriato dei segnaposto. volerlo fare di solito è un brutto segno; solo il DBA dovrebbe essere in grado di emettere un create database
, poiché ciò richiede alcuni privilegi considerevoli. La maggior parte delle applicazioni richiede che il DBA emetta il database di creazione e quindi prenda il database creato come parametro da utilizzare negli argomenti di dbapi.Connection.
Se sei sicuro di aver bisogno di questo, ti fidi della fonte dell'input e hai controllato l'input per caratteri non validi, faresti semplicemente la sostituzione in Python, qualcosa del tipo:
def createDB(dbConn, dbName):
c = dbConn.cursor()
query = """CREATE DATABASE %s;""" % dbName
c.execute(query)