使用 SQLAlchemy
2008-11-10 13:25:54 来源:WEB开发网行创建了一个类,稍后的 Filesystem 类便继承自该类。如果您保存并在 declarative_style 中运行该代码,然后将它导入到 IPython 中,则会看到以下输出:In [2]: declarative_style.Filesystem?
Type: DeclarativeMeta
Base Class: <class 'sqlalchemy.ext.declarative.DeclarativeMeta'>
String Form: <class 'declarative_style.Filesystem'>
这个 DeclarativeMeta 类型的魔力就是允许所有操作发生在一个简单的类定义中。
另一个需要指出的地方是本示例并未实际执行任何操作。在运行创建表的代码之前,将不会创建实际的表,并且,您还需要定义 SQLAlchemy 将使用的数据库引擎。这两行代码如下所示: engine = create_engine('sqlite:///meta.db', echo=True)
Base.metadata.create_all(engine)
SQlite 是试验 SQLAlchemy 的理想选择,并且您还可以选择使用内存数据库,在这种情况下,您的代码行应如下所示: engine = create_engine('sqlite:///:memory:', echo=True)
或者,只创建一个简单的文件,如第一个例子所示。如果您选择创建一个基于 SQLite 文件的数据库,则可以通过抛弃数据库中的所有表从零开始,而不需要删除文件。为此,您可以发起以下代码行: Base.metadata.drop_all(engine)
此时,我们已经了解了创建 SQLAlchemy 项目和通过 SQLAlchemy API 控制数据库所需的知识。在开始实际应用之前,惟一需要掌握一点是会话的概念。SQLAlchemy “官方” 文档将会话描述为数据库的句柄。在实际应用中,它允许不同的基于事务的连接发生在 SQLAlchemy 一直在等待的连接池中。在会话内部,这通常是添加数据到数据库中、执行查询或删除数据。
Tags:使用 SQLAlchemy
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接