Python,Sqlite - 有没有办法在查询的WHERE子句中中断条件?

时间:2017-06-08 09:29:31

标签: python sqlite

我在表单上有一些输入框和一个按钮,它将通过执行一个由 WHERE 子句组成的查询来搜索数据库表,该子句具有与输入框对应的几个条件。 用户可能会也可能不会填充所有输入框,所以我只想在where子句中使用所有列的预定义查询,如:

column01=? AND column02=? AND ... AND columnN=?

然后有一个元组或列表,它只是我在一个循环上构建的,其中输入的数据放在相同的顺序上,WHERE子句的列被排列,每个输入只检查它是否是" " (未输入)如果是这样,列表中的相应位置将被分配 某些 ,使该特定条件透明!为了澄清自己,看看用户填写没有输入框意味着什么(想象一下这个东西是 星号 ):

"SELECT * FROM sometable WHERE column01=* AND ... AND columnN=*"  

希望像这个查询一样工作:

"SELECT * FROM sometable"

对任何专栏都没有约束力。这可信吗?

1 个答案:

答案 0 :(得分:0)

正如Christos在上面正确指出的那样,SQL查询中的模式匹配是实现此目的的方式以及许多其他更复杂的事情。 我只需要使用 LIKE 而不是等号并将'%'分配给我想要透明的任何条件。更多信息here