Um nome de banco de dados (nem nomes de coluna ou tabela) não são valores de dados e, portanto, não são um uso apropriado de espaços reservados. querer fazer isso geralmente é um mau sinal; somente o DBA deve ser capaz de emitir um
create database
, já que isso requer alguns privilégios consideráveis. A maioria dos aplicativos exige que o DBA emita o banco de dados create e, em seguida, tome o banco de dados criado como parâmetro a ser usado nos argumentos para dbapi.Connection. Se você tem certeza de que precisa disso, confia na fonte da entrada e verificou a entrada para caracteres inválidos, basta fazer a substituição em python, algo como:
def createDB(dbConn, dbName):
c = dbConn.cursor()
query = """CREATE DATABASE %s;""" % dbName
c.execute(query)