WEB开发网
开发学院软件开发Python 使用 SQLAlchemy 阅读

使用 SQLAlchemy

 2008-11-10 13:25:54 来源:WEB开发网   
核心提示: 行创建了一个类,稍后的 Filesystem 类便继承自该类,使用 SQLAlchemy(4),如果您保存并在 declarative_style 中运行该代码,然后将它导入到 IPython 中,它允许不同的基于事务的连接发生在 SQLAlchemy 一直在等待的连接池中,在会话内部,则

行创建了一个类,稍后的 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 一直在等待的连接池中。在会话内部,这通常是添加数据到数据库中、执行查询或删除数据。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 SQLAlchemy

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接