【发布时间】:2018-05-23 09:09:32
【问题描述】:
我正在尝试浏览基因名称列表并在我的 SQL 数据库中查询它们,如下所示:
list_of_genes = ["IFNL", "TMPT", "G6PD", "UGT1A1", ...]
for gene in list_of_genes:
sql.execute('''SELECT DISTINCT gene_symbol, haplo_function FROM Haplotypes
WHERE gene_symbol LIKE "%" + ? + "%"
''', (gene,))
我想要完成的是从我的 Haplottypes 表中获取所有记录,其中 gene_symbol 与 list_of_genes 中的 gene 相似。
列表中的基因可以称为IFNL,数据库中的gene_symbol 可能类似于IFNL*1 或类似名称。
此查询给出 0 个结果,那么如何将通配符与占位符一起添加到 SELECT 语句中?
如果我像下面这样查询它;我确实得到了很多结果,但不是全部,因为一些基因符号除了基因名称之外还添加了信息。
for gene in list_of_genes:
sql.execute('''SELECT DISTINCT gene_symbol, haplo_function FROM Haplotypes
WHERE gene_symbol LIKE ?
''', (gene,))
如果我问的是简单或愚蠢的问题,我很抱歉,但我已经尝试搜索它,但找不到任何结合 通配符和 ?占位符/参数。
【问题讨论】:
标签: python parameters sqlite wildcard