SQLAlchemy 有大量的官方和非官方文档。以下是关于一些最佳信息的指南。

参考文档

SQLAlchemy 参考文档是无论对新手还是经验丰富的炼金术士来说最重要的参考资料。参考文档代表着与 SQLAlchemy 项目本身相当的持续努力,并且一直在不断发展,力求更加完整和便于导航。最新版本的文档将是最新的也是最准确的;仅在较新版本中引入的功能和行为应始终予以说明。

演讲和教程

SQLAlchemy 的创建者和用户在世界各地的许多会议上都发表了各种各样的演讲和教程。以下是一些精选内容:

    SQLAlchemy 2.0 - The One-Point-Four-Ening 2021 - Python Web Conf 2021
    作者:Mike Bayer

    这是最新的“入门”教程,从新的 2.0 系列的角度介绍 SQLAlchemy。

    SQLAlchemy 2.0 - 录制于 2021 年 11 月 10 日
    作者:Michael Kennedy 和 Mike Bayer

    Talk Python to me Podcast 系列中的第二次与 Mike Bayer 的访谈;这一集预告了 SQLAlchemy 2.0 的一些亮点。

    SQLAlchemy 入门 - 在许多 Pycon 和其他会议上发表
    作者:Mike Bayer

    本教程是更“经典”的教程,它以快节奏但面向初学者的方式介绍 SQLAlchemy 是什么。虽然本教程随着时间的推移而不断演变,并且目前已基本固定;请参阅较新的“2.0”教程,获取进行了更为实质性更改的最新版本。

    SQLAlchemy 和 Python 中的数据访问 - 录制于 2015 年 4 月 9 日
    作者:Michael Kennedy 和 Mike Bayer

    Talk Python to me Podcast 系列中对 Mike Bayer 的访谈。讨论了该项目的历史以及它是如何随着时间的推移而演变的。

    构建应用程序 - 在 2014 年的 Pycon 北美会议上发表
    作者:Mike Bayer

    在本演讲中,我们将使用 SQLAlchemy 演示一个简单的 Web 应用程序,展示 SQLAlchemy 最适合的开发风格,即所谓的“基础”风格,这种风格为开发和维护自定义约定提供了支持,然后这些约定将服务于模型声明和用例实现的需求。

    SQLAlchemy 会话 - 深入浅出 - 在 2012 年的 Pycon 加拿大会议上发表
    作者:Mike Bayer

    详细介绍了 SQLAlchemy 的会话,描述了它存在的理由、它的驱动理念,最后通过动画图表逐步介绍会话生命周期。我们将介绍关系型数据库如何在事务中引用数据库行,以及会话是如何随着时间的推移而与该生命周期紧密地、代理地集成在一起的。

    手写代码的应用程序与 SQLAlchemy - 在 2012 年的 Pycon 美国会议上发表
    作者:Mike Bayer

    本演讲描述了为什么 SQLAlchemy 一直被称为“工具包”,详细介绍了 SQLAlchemy 被设计用于使用的软件构建思想。本演讲将此称为“手写代码”方法,并强调用户创建的模式和约定,以及对关系结构的显式暴露。本演讲描述了 SQLAlchemy 如何遵守被描述为 自动化互补性原则(不要与更常见的物理学术语混淆),允许库的工作作为一系列透明的自动化工具来暴露,而不是作为隐藏细节的不透明墙。

    SQLAlchemy Core 入门 - 在 2014 年的 Pycon 北美会议上发表
    作者:Jason Meyers

    本演讲对 SQLAlchemy Core 库进行了广泛的介绍。它针对的是 SQLAlchemy Core 的新手,他们有使用其他数据库技术(如 Django 或 SQLAlchemy ORM)的经验。我们将介绍这些工具的域中心模型与模式中心模型之间的差异,以及我们如何利用这些差异来处理常见和不常见的数据源。

    使用 Alembic 和 SQLAlchemy 进行合理的模式迁移 - 在 2014 年的 Pycon 北美会议上发表
    作者:Selena Deckelmann

    与开发人员一起处理模式迁移对于 DBA 和开发人员来说是一个持续的挑战。开发人员往往喜欢“设置并忘记”的工具。本演讲讨论了从纯 SQL 和 shell 迁移系统迁移到使用 SQLAlchemy 和 Alembic 的策略,以最大限度地提高 DBA 和开发人员的满意度。

    展现 SQLAlchemy 的关系型力量 - 在 2012 年的 Pycon 美国会议上发表
    作者:Brandon Rhodes

    程序员经常使用 ORM 来隐藏他们的数据库,并避免学习它的工作原理。相反,我鼓励程序员学习一些 SQL,并熟悉数据库查询被设计用于解决的问题。在本演讲中,我概述了使用 SQLAlchemy 编写高效查询并避免一些常见数据库查询反模式的基础知识。

    SQLAlchemy - 架构回顾 - 在 2011 年的 PyGotham 会议上发表
    作者:Mike Bayer

    本演讲介绍了 SQLAlchemy 内部设计和方法的一些亮点,基于(现已发布的)“开源应用程序的架构”一书的章节。我们将介绍一些 SQLAlchemy 的理念,概述 Core,然后从 500 英尺的视角介绍 ORM 是如何工作的,并附带大量看起来很酷的图表。

    Python SQLAlchemy 教程 - 在 Python Central 网站上
    作者:Xiaonuo Gantan

    一系列面向初学者的 SQLAlchemy 教程,涵盖了广泛的基本主题。虽然这里很多信息都来自主文档,但节奏更慢,还有一些来自其他来源的细节,包括性能技巧、与其他 ORM 的比较以及设计理念。作者 Xiaonuo Gantan 做出了非常出色的努力。

    SQLAlchemy 教程 - 在 Zetcode 教程网站上
    作者:Jan Bodnar

    这是一个“简明扼要”风格的教程,使用简单的示例快速介绍 SQLAlchemy 的主要领域,涵盖原始 SQL、模式概念、SQL 表达式语言以及 ORM(包括查询和关系)。

    SQLAlchemy + URL 分发 Wiki 教程 - Pylons 文档的一部分
    作者:Chris McDonough

    这是 SQLAlchemy 在 Pyramid Web 框架 中集成的官方教程。在传统 Web 应用程序中集成 SQLAlchemy 的基本步骤在此处列出,并且大多与 SQLAlchemy 文档中引用的那些指南一致。

架构文档

在 2011 年,为“开源应用程序的架构”一书编写了 SQLAlchemy 章节。本章深入介绍了 SQLAlchemy 的 Core 和 ORM 组件背后的关键概念。

引用 SQLAlchemy

如果您在研究中使用 SQLAlchemy,请引用它。您可以引用前面部分介绍的 开源应用程序架构中的 SQLAlchemy 一书中的章节。

  • Michael Bayer。SQLAlchemy。在 Amy Brown 和 Greg Wilson 编著的 开源应用程序的架构 第 II 卷:结构、规模和一些更大胆的黑客 2012 https://aosa.fullstack.org.cn
以下是一个示例 BibTeX 条目
@incollection{sqlalchemy,
  place={Mountain View},
  title={SQLAlchemy},
  booktitle={The Architecture of Open Source Applications Volume II: Structure, Scale, and a Few More Fearless Hacks},
  publisher={aosabook.org},
  url="https://aosa.fullstack.org.cn/en/sqlalchemy.html",
  author={Bayer, Michael},
  editor={Brown, Amy and Wilson, Greg},
  year={2012}
}