Tên cơ sở dữ liệu (không phải tên cột hoặc bảng) không phải là giá trị dữ liệu và do đó không phải là cách sử dụng thích hợp của trình giữ chỗ. muốn làm điều này thường là một dấu hiệu xấu; chỉ DBA mới có thể phát hành create database
, vì làm như vậy đòi hỏi một số đặc quyền đáng kể. Hầu hết các ứng dụng yêu cầu DBA phát hành cơ sở dữ liệu tạo, sau đó lấy cơ sở dữ liệu đã tạo làm tham số được sử dụng trong các đối số của dbapi.
Nếu bạn chắc chắn mình cần điều này, bạn tin tưởng nguồn đầu vào và bạn đã kiểm tra đầu vào để tìm các ký tự không hợp lệ, bạn chỉ cần thực hiện thay thế bằng python, đại loại như:
def createDB(dbConn, dbName):
c = dbConn.cursor()
query = """CREATE DATABASE %s;""" % dbName
c.execute(query)