我想为特殊数据源创建一个类似SQL的接口,我可以使用Python进行查询。也就是说,我有一个数据源,其中包含许多已命名的可迭代容器实体,我希望能够使用SQL来过滤,连接,排序以及最好更新/插入/删除。
据我了解,sqlite3的虚拟表功能非常适合这项任务。是否可以在Python中创建必要的绑定?我知道胶水必须像c一样,但我希望有人已经用C语言或使用ctypes写了一个Python包装器。
我也会接受一个更好/更简单的方法来回答这个问题。
答案 0 :(得分:5)
您可以通过在SQLite中使用APSW Python bindings注册虚拟表来执行此操作。
talking to CouchDB using APSW的示例。
Perl有类似的功能,即: Create SQLite Virtual Table extensions in Perl
最后,如果你想在PostgreSQL 9.1中创建一个基于Python的虚拟表,请查看http://multicorn.org/。
答案 1 :(得分:-2)
听起来你可以使用SQLAlchemy将这些对象持久存储到sqlite3
,可能会传递到:memory:
db中,并发出对象和表级(原始sql)查询。您也可以轻松更新/插入/删除它们。