在Python中创建sqlite虚拟表
我想为一个特殊的数据源创建一个类似SQL的接口,这样我就可以用Python来查询它。简单来说,我有一个数据源,里面有一些可以遍历的命名容器,里面装着各种实体。我希望能够用SQL来过滤、连接、排序,最好还能进行更新、插入和删除。
根据我的理解,sqlite3的虚拟表功能非常适合这个任务。请问在Python中创建所需的绑定是否可行?我知道这些绑定需要像C语言那样,但我希望有人已经用C语言或ctypes写了一个Python的封装。
如果有更好或更简单的方法,我也很乐意接受。
2 个回答
-2
听起来你可以使用 SQLAlchemy 来把这些对象保存到 sqlite3
数据库里,可能是一个在 :memory:
中的数据库。这样你就可以对这些对象和表进行查询,甚至可以直接写原始的 SQL 语句。你还可以很方便地更新、插入或删除这些数据。
6
你可以通过在SQLite中注册一个虚拟表来实现这个功能,具体可以使用APSW的Python绑定。
这里有一个例子,展示了如何使用APSW与CouchDB进行交互。
对于Perl语言,也有类似的功能,具体可以参考在Perl中创建SQLite虚拟表扩展。
最后,如果你想在PostgreSQL 9.1中创建一个基于Python的虚拟表,可以查看http://multicorn.org/。