在Python中过滤sqlite数据库中具有相同模式的表名

时间:2018-01-19 21:48:03

标签: python-3.x sqlite

我有一个数据库,我想从具有相似名称的表中提取数据。假设我想过滤名称中包含“ABC_DEF”的表格。喜欢:“ABC_DEF_30”,“ABC_DEF_40”,....

此代码对我不起作用: cur.execute('SELECT * FROM TABLES LIKE'+ table_name)

如果你能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:0)

因此,您要检查具有特定前缀的表名。

  

在sqlite中引用this tutorial关于LIKE的用法:百分号#{1}}通配符匹配   任何零个或多个字符的序列。

所以你的模式确实是

%

但因为pattern = '%s%' % prefix 是python字符串中的运算符,您需要通过将其设置为

来转义它
%

完整代码如下所示:

pattern = '%s%%' % prefix