Python 改进/参数化具有未知字符的SQL查询

Python 改进/参数化具有未知字符的SQL查询,python,mysql,Python,Mysql,如何在SQL中转义引号和双引号。我有以下声明: SELECT * FROM table WHERE contents LIKE '%user_input%' 但是,用户可以输入任何内容,它可以有单引号、双引号等。有没有办法逃避用户输入的任何引号?相当于在python中执行以下操作 '''%s''' % user_input 通过手动转义单引号,似乎可以解决以下问题: cursor.execute("SELECT * FROM mapping WHERE minified_contents L

如何在SQL中转义引号和双引号。我有以下声明:

SELECT * FROM table WHERE contents LIKE '%user_input%'
但是,用户可以输入任何内容,它可以有单引号、双引号等。有没有办法逃避用户输入的任何引号?相当于在python中执行以下操作

'''%s''' % user_input

通过手动转义单引号,似乎可以解决以下问题:

cursor.execute("SELECT * FROM mapping WHERE minified_contents LIKE %s",  
    '%' + user_input.replace("'", "\'") + '%')