我有一个大的postgrSQL数据库。我想以某种方式将完整的数据库存储在一个python对象中,该对象的形式/结构将反映数据库的一个。也就是我想象的东西类似 *一个对象数据库,具有属性.tables,其中一种对象“table”的列表,以及一个table对象具有属性“list_of_keys”(列名称的列表)和属性“rows” ,它反映了数据库中相应表的所有行。如何将一个SQL数据库存储在一个python对象中,并在该对象中执行查询?
现在,主要点我需要的是:我希望能够在数据库对象中执行搜索,使用相同的SQL数据库中完全相同的SQL合成器。因此,像 database.execute(“SELECT * FROM .....”) 其中,我再说一遍,“数据库”是一个纯粹的python对象(它充满了来自SQL数据库的数据,但现在是独立的)。
我的目标是:我希望能够在不改变我的代码的情况下,在SQL数据库或python对象上应用相同的算法,如上所述。所以,我想,让“数据库”是一个通常的数据库连接器/光标(例如像psycopg),或者如我所描述的python对象,以及相同的代码片段012xxdatabase.execute(“SELECT BLABLABLA” ) 将在这两种情况下工作。
是否有任何已知的模块允许?
谢谢。
你看过[SQLAlchemy](http://www.sqlalchemy.org/)吗? –
我听说过它,但我不确定,它做我想要的。可以 ? –
那么,你可以定义一个数据库/表模型,并与python动态地进行交互。我还没有听说过任何时候都会自动*反映您数据库的方案的工具。 –