在Python中创建sqlite虚拟表

6
我希望为一个特殊的数据源创建类似SQL的接口,可以使用Python进行查询。也就是说,我有一个包含多个命名的可迭代实体容器的数据源,并且我希望能够使用SQL来过滤、连接、排序,最好还能进行更新/插入/删除操作。
据我了解,sqlite3的虚拟表功能非常适合这个任务。是否可能在Python中创建必要的绑定?我知道粘合剂必须类似于C,但我的希望是已经有人用C或ctypes编写了Python包装器。
我也会接受更好/更容易的方法的答案。

我对这样的项目很感兴趣。但是我对“必要的绑定”感到困惑。Python捆绑的SQLite难道不够用吗? - Jesvin Jose
据我所了解,Sqlite Python模块可以使用扩展,但不能定义它们。 - Krumelur
“特殊数据源”是指Python sqlite3中可以查询的吗?我曾多次希望能够创建一个虚拟表,它包装了一个迭代sqlite3查询结果的生成器,从而实现无缝地在sqlite3->python->sqlite3之间移动,但我怀疑有一些非常棘手的细节需要解决。 - Ryan
它可以在Python中检索,所以是的,尽管它不是一个纯Python集合。 - Krumelur
2个回答

6

-2
听起来你可以使用SQLAlchemy将这些对象持久化到sqlite3,可能是到一个:memory:数据库,并发出对象和表级别(原始SQL)查询。你也可以轻松地更新/插入/删除它们。

很遗憾,数据集太大了,无法以任何良好性能的方式持久化。此外,当涉及到过滤和排序时,数据源非常高效。 - Krumelur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接