SQLAlchemy ORM
SQLAlchemy对象关系映射器提供了一种将用户定义的Python类与数据库表关联起来的方法,以及将这些类(对象)的实例与相应表中的行关联起来的方法。它包括一个透明地同步对象及其相关行(称为工作单元)之间的所有状态变化的系统,以及一个用用户定义的类和它们之间定义的关系来表达数据库查询的系统。
ORM是与SQLAlchemy表达式语言相对应的,ORM是在其基础上构建的。SQL表达式语言在SQL表达式语言教程(1.x API)中介绍的SQL表达式语言是不加意见地直接表示关系型数据库的原始构造的系统,而ORM则呈现了一种高层次和抽象化的使用模式,它本身就是表达式语言的应用实例。
虽然ORM和表达式语言的使用模式有重合之处,但其相似之处比起初看起来更肤浅。其中一种是从用户定义的领域模型的角度来处理数据的结构和内容,该模型从其底层存储模型中透明地持久化和刷新。另一种是从文字模式和SQL表达式的角度来处理它,这些表达式被明确地组成了由数据库单独消费的消息。
一个成功的应用程序可能只使用对象关系映射器来构造。在高级情况下,用ORM构建的应用程序可能会在某些需要特定数据库交互的领域直接偶尔使用表达式语言。
下面的教程是以doctest格式进行的,也就是说,每一行>>>代表你可以在Python命令提示符下键入的内容,下面的文字代表预期的返回值。
Connecting
在本教程中,我们将使用一个仅有内存的SQLite数据库。为了连接,我们使用[create_engine()
]