用Python变量搜索SQLite数据库
我有一个SQLite数据库,我想使用Python变量进行搜索,如下所示:用Python变量搜索SQLite数据库,python,sqlite,Python,Sqlite,我有一个SQLite数据库,我想使用Python变量进行搜索,如下所示: cur.execute("SELECT * FROM list WHERE InstitutionName=Variable") 理想情况下,这将允许我将每一行作为列表返回到一个较大的列表中,该列表包含用户正在搜索的所有行。我意识到我上面所说的是伪代码。我该如何编写它呢?我想您应该使用参数替换功能: cur.execute("SELECT * FROM list WHERE InstitutionName=?", (Va
cur.execute("SELECT * FROM list WHERE InstitutionName=Variable")
理想情况下,这将允许我将每一行作为列表返回到一个较大的列表中,该列表包含用户正在搜索的所有行。我意识到我上面所说的是伪代码。我该如何编写它呢?我想您应该使用参数替换功能:
cur.execute("SELECT * FROM list WHERE InstitutionName=?", (Variable,))
在和上的第4个示例代码框中有更多文档
请注意,您不应明确使用%
或格式
功能,因为这容易受到注入攻击:
# NEVER DO THIS
cur.execute("SELECT * FROM list WHERE InstitutionName='%s'" % (Variable,))
我认为您希望使用参数替换功能:
cur.execute("SELECT * FROM list WHERE InstitutionName=?", (Variable,))
在和上的第4个示例代码框中有更多文档
请注意,您不应明确使用%
或格式
功能,因为这容易受到注入攻击:
# NEVER DO THIS
cur.execute("SELECT * FROM list WHERE InstitutionName='%s'" % (Variable,))
如果你想用LIKE
cur.execute("SELECT * FROM list WHERE InstitutionName like '%'||?||'%'", (Variable,))
如果你想用LIKE
cur.execute("SELECT * FROM list WHERE InstitutionName like '%'||?||'%'", (Variable,))
如果要显示数据库中的多条记录,则可以在sql查询中使用(LIKE)关键字:
("SELECT * FROM TABLENAME WHERE name LIKE'%?%'",(Variable,))
如果要显示数据库中的多条记录,则可以在sql查询中使用(LIKE)关键字:
("SELECT * FROM TABLENAME WHERE name LIKE'%?%'",(Variable,))
如果我有足够的声誉,我会给你一票放弃!这正是我想要做的!谢谢你,如果我有足够的声誉,我会给你投票的!这正是我想要做的!多谢各位