2011-09-30 100 views
4

我想爲我可以使用Python查詢的特殊數據源創建一個SQL類接口。也就是說,我有一個數據源,包含許多實體的可命名的可迭代容器,我希望能夠使用SQL來過濾,連接,排序並優選更新/插入/刪除。在Python中創建sqlite虛擬表

據我瞭解,sqlite3的虛擬表功能非常適合這項任務。是否有可能在Python中創建必要的綁定?我知道粘合劑必須是類似c的,但我希望有人已經用C語言編寫了一個Python包裝器或者使用了ctypes。

我也會接受一個更好/更簡單的方法來做這件事的答案。

+0

我對這樣的項目感興趣。但我對「必要的綁定」感到困惑。與Python捆綁在一起的SQLite不能勝任任務嗎? – aitchnyu

+0

據我瞭解,Sqlite Python模塊可以使用擴展,但不能定義它們。 – Krumelur

+0

是可以從python sqlite3中查詢的「特殊數據源」嗎?我曾多次希望能夠創建一個虛擬表,它包裝一個迭代sqlite3查詢結果的生成器,允許從sqlite3-> python-> sqlite3無縫移動,但是會有一些非常惡魔般的細節工作我懷疑。 – Ryan

回答

-2

聽起來像是你可以使用SQLAlchemy這些對象持久化到sqlite3,可能到在:memory:分貝,併發出兩個對象和表級(原始SQL)查詢。您也可以輕鬆更新/插入/刪除它們。

+0

不幸的是,數據集太大,無法像任何一種體面的表現那樣堅持下去。另外,數據源在過濾和排序方面非常高效。 – Krumelur