我有一个 SQLite 数据库,我想使用 Python 变量进行搜索,如下所示:
cur.execute("SELECT * FROM list WHERE InstitutionName=Variable")
理想情况下,这将允许我将每一行作为一个列表返回到一个更大的列表,该列表包含用户正在搜索的所有行。我意识到我上面的是伪代码。我怎么能写出来呢?
请您参考如下方法:
我认为您想使用参数替换功能:
cur.execute("SELECT * FROM list WHERE InstitutionName=?", (Variable,))
actual execute command 中有更多文档在 sqlite3 docs page 上的第 4 个示例代码框中.
请注意,您应该明确地不使用 % 或 format 函数,因为这很容易受到注入(inject)攻击:
# NEVER DO THIS
cur.execute("SELECT * FROM list WHERE InstitutionName='%s'" % (Variable,))
