Python sqlite3 parameterized drop table
You cannot use parameters for table names nor column names.
Alternatively you could make it a two-step process, e.g.:
sql = """ drop table %s """ % a_table_nameself.conn.execute( sql )
And if you're doing that you may want to explicitly specify which tables can be deleted...
TABLES_THAT_CAN_BE_DROPPED = ('table_a','table_b',)if a_table_name in TABLES_THAT_CAN_BE_DROPPED: sql = """ drop table %s """ % a_table_name self.conn.execute( sql )else: pass # handle creatively
To insert with more variables, below is an example
cursor.execute("INSERT INTO {0}(var_name)VALUES({1});".format('table_name','"var_value"')) # Note the double quotes of var_value, which is necessary