在MySQL查询中使用Python变量

在MySQL查询中使用Python变量,python,mysql,mysql-python,Python,Mysql,Mysql Python,我正在尝试编写一个函数,该函数使用下面编写的函数placeholder()中的变量,然后在MySQL查询中使用该变量。我在下面写了一个例子: import MySQLdb connection = MySQLdb.connect(host = "localhost", user = "root", passwd = "", db = "cars") cursor = connection.cursor() def placeholder(placehol

我正在尝试编写一个函数,该函数使用下面编写的函数
placeholder()
中的变量,然后在MySQL查询中使用该变量。我在下面写了一个例子:

import MySQLdb
connection = MySQLdb.connect(host = "localhost", user = "root", 
                   passwd = "", db = "cars")
cursor = connection.cursor()

def placeholder(placeholder_variable):
    sql = "TRUNCATE TABLE %s"
    cursor.execute(sql, placeholder_variable)

placeholder('car_brands')
当我尝试运行此程序时,出现以下错误:

ProgrammingError:(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第1行“汽车品牌”附近使用的正确语法”)


这是大学作业,必须使用
占位符('variable')
格式接收变量。我花了几个小时在互联网上搜索,试图找到一个解决方案。请帮助:/

SQL参数不能用于MySQL的元数据。您需要清理该值并正常替换它。

感谢您的快速响应。我只是一个编程新手,不知道该怎么做。你能帮我一下吗?使用正则表达式来确保没有不应该出现的字符,然后用它代替。我刚刚做了一些关于正则表达式是什么的研究,但我仍然不知道如何使用它来满足我的需要。你能给我一些示例代码吗?我会非常感激的。作为一个新手,这件事有点让我不知所措,但这项任务将在24小时内完成:只要这里没有用户输入,卫生设施是可选的。为了保持更灵活,最好在变量周围加上反勾号,例如
sql=“TRUNCATE TABLE`”+占位符变量+“`
。此外,为了澄清这一点,这仅适用于元数据,如表名。仍然应使用第二个输入参数将数据传递到
游标。执行
另请参见:
sql = "TRUNCATE TABLE " + placeholder_variable + ";"
cursor.execute(sql)