MySQL Python LIKE 通配符
我想用Python来查询MySQL数据库,像这样:
cursor = connection.cursor()
sql = "select text \
from steps \
where text like '%start%'"
cursor.execute(sql)
但是这里的%符号没有被当作通配符来用,它似乎在期待一个变量。我猜是这样。结果我遇到了一个错误:
TypeError: not enough arguments for format string
现在似乎没有什么办法能解决这个问题。如果我能用一个变量来代替'%start%',那就更好了。
1 个回答
25
我猜你是在使用 Python 的数据库接口。
你可以试着把 %
用 %%
来表示。
至于传递参数,有很多种方法,比如:
cursor = connection.cursor()
sql = """select text
from steps
where text like %s"""
cursor.execute(sql, (('%' + 'start' + '%',))
你可以在这个博客的“接口模块”部分看到其他参数传递方法的例子,点击这里。不过并不是所有方法都适用于所有的连接器。