在Python中模拟关系数据(或数据库)?

But*_*840 5 python relational-database data-structures

我经常使用Python来为其他平台创建原型,这是各种各样的便笺.现在我想在数据库中使用与关系数据相关的一些想法.

在Python中表示数据库的最佳方法是什么?一组元组?使用像SQLite这样的模块?

我正在寻找Python中的简单解决方案.如果解决方案太"数据库",我也会在数据库本身进行原型设计.

更新:我实际上不会在数据库中使用Python(我甚至没有特定的数据库),我只想用代码来思考"如果我有X关系数据,我可以回答Y问题,以及解决Z问题?"

Dav*_*son 6

要么sqllite3或对象关系映射器如SQLAlchemy的.

sqllite3 很容易设置和工作就像一个SQL数据库(原型目的,当然 - 不是为了生产).

SQLAlchemy是一个使用真实数据库引擎(它本身可以是sqllite3)的好方法,就像它是一组对象一样.例如,创建表看起来像这样(从本教程):

from sqlalchemy import *

db = create_engine('sqlite:///tutorial.db')
metadata = BoundMetaData(db)

users = Table('users', metadata,
    Column('user_id', Integer, primary_key=True),
    Column('name', String(40)),
    Column('age', Integer),
    Column('password', String),
)
users.create()
Run Code Online (Sandbox Code Playgroud)

同样,它具有简单的函数和类,允许您插入元素,创建关系以及您可以在数据库中执行的所有其他操作.

ETA:我知道你实际上不会在数据库中使用Python.但是,使用像SQLAlchemy这样的ORM可以将关系数据作为对象处理.它几乎和任何形式的原型一样简单,附加的好处是它更接近你最终会做的事情.