在Python中创建sqlite虚拟表

时间:2011-09-30 06:42:27

标签: python sql sqlite

我想为特殊数据源创建一个类似SQL的接口,我可以使用Python进行查询。也就是说,我有一个数据源,其中包含许多已命名的可迭代容器实体,我希望能够使用SQL来过滤,连接,排序以及最好更新/插入/删除。

据我了解,sqlite3的虚拟表功能非常适合这项任务。是否可以在Python中创建必要的绑定?我知道胶水必须像c一样,但我希望有人已经用C语言或使用ctypes写了一个Python包装器。

我也会接受一个更好/更简单的方法来回答这个问题。

2 个答案:

答案 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)查询。您也可以轻松更新/插入/删除它们。