SQLAlchemy 1.4/2.0 教程
关于此文档
新的SQLAlchemy教程现在集成在Core和ORM之间,作为对SQLAlchemy的统一介绍。在新的 2.0 style 可在 1.4 release ,ORM现在使用核心样式查询 select()
构造,并且核心连接和ORM会话之间的事务语义是等效的。注意每个部分的蓝色边框样式,这将告诉你一个特定主题是如何“ormish”的!
已经熟悉SQLAlchemy的用户,尤其是那些希望在1.4过渡阶段将现有应用程序迁移到SQLAlchemy 2.0下工作的用户,应该查看 迁移到Alchemy 文件也是。
对于新来者,此文档具有 lot 不过,到最后他们会被认为是 炼金术士 .
SQLAlchemy被表示为两个不同的api,一个构建在另一个之上。这些API称为 Core 和 ORM .
SQLAlchemy Core 是SQLAlchemy作为“数据库工具包”的基础架构。该库提供了用于管理与数据库的连接、与数据库查询和结果交互以及SQL语句的编程构造的工具。
具有 右侧为深蓝色边框 将讨论 primarily Core-only ;当使用ORM时,这些概念仍在发挥作用,但在用户代码中不太明显。
SqLalChany ORM 以核心为基础提供可选 对象关系映射 能力。ORM提供了一个附加的配置层,允许用户定义的Python类 映射 以及一种称为 会话 . 然后,它扩展了核心级别的SQL表达式语言,允许按照用户定义的对象组合和调用SQL查询。
具有 左边的蓝色边框 将讨论 primarily ORM-only . 只有核心用户可以跳过这些。
一个有 两边都有明暗边界 将讨论 在ORM中也显式使用的核心概念 .
教程概述
本教程将按照应该学习的自然顺序介绍这两个概念,首先使用主要以核心为中心的方法,然后扩展到更多以ORM为中心的概念。
本教程的主要部分如下:
处理事务和DBAPI -的使用API
Engine
及其相关对象Connection
和Result
都在这里展示。本内容是以核心为中心的,但是ORM用户至少需要熟悉Result
对象。使用数据库元数据 -SQLAlchemy的SQL抽象以及ORM依赖于将数据库模式构造定义为Python对象的系统。本节从核心和ORM的角度介绍了如何做到这一点。
使用数据 -在这里我们学习如何创建、选择、更新和删除数据库中的数据。所谓的 CRUD 这里的操作是根据SQLAlchemy核心给出的,其中有指向ORM对应对象的链接。中详细介绍的选择操作 使用核心或ORM选择行 同样适用于Core和ORM。
使用ORM进行数据操作 介绍了ORM的持久性框架;基本上是以ORM为中心的插入、更新和删除方法,以及如何处理事务。
使用相关对象 介绍了
relationship()
构造并提供如何使用它的简要概述,以及指向更深入文档的链接。进一步阅读 列出了一系列主要的顶级文档部分,它们完整地记录了本教程中介绍的概念。
版本检查
本教程是使用一个名为 doctest . 所有用 >>>
本文邀请alchemy的解释器作为自己的解释器实时运行。
如果要运行示例,建议读者执行快速检查,以验证我们是否处于打开状态 版本1.4 SQLAlChemy的名称:
>>> import sqlalchemy >>> sqlalchemy.__version__ 1.4.0
关于未来的说明
本教程介绍了SQLAlchemy 1.4中发布的一个新API,称为 2.0 style . 2.0样式API的目的是提供与 SQLAlchemy 2.0 ,计划作为下一代SQLAlchemy。
为了提供完整的2.0API,一个名为 future
将被使用,这将在本教程描述 Engine
和 Session
对象。这些标志完全启用2.0兼容模式,并允许教程中的代码完全继续。在使用 future
使用 create_engine()
函数,则返回的对象是 sqlalchemy.engine.Engine
描述为 sqlalchemy.future.Engine
。本教程将参考 sqlalchemy.future.Engine
。
SQLAlchemy 1.4 / 2.0 Tutorial
下一节: 建立连接-引擎