关于 SQLAlchemy,存在着大量的官方和非官方文档。以下是一些最佳可用信息的指南。

参考文档

SQLAlchemy 参考文档是最新用户和资深炼金术士最重要的场所。参考文档代表着一项持续的努力,其规模堪比 SQLAlchemy 项目本身,并且不断发展,力求更加完整和易于导航。最新版本的文档将是最新的和准确的;仅在较新版本中引入的功能和行为应始终注明。

演讲和教程

SQLAlchemy 的创建者和用户在全球许多会议上都发表了各种演讲和教程。以下是一些精选

    SQLAlchemy 2.0 - 1.4 终结 2021 - Python Web Conf 2021
    作者:Mike Bayer

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

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

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

    SQLAlchemy 简介 - 在许多 Pycon 和其他会议上展示
    作者:Mike Bayer

    本教程是更“经典”的教程,它以快节奏但以初学者为中心的方式介绍了 SQLAlchemy 的全部内容。虽然本教程多年来不断发展,并且在这一点上相当固定;请参阅更新的“2.0”教程,了解最新版本,该版本的变化更大。

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

    与 Mike Bayer 的访谈,在Talk Python to me Podcast 系列中。讨论了项目的历史以及它如何随时间演变。

    构建应用程序 - 在 Pycon North America, 2014 上展示
    作者:Mike Bayer

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

    SQLAlchemy Session - 深入探讨 - 在 Pycon Canada, 2012 上展示
    作者:Mike Bayer

    对 SQLAlchemy Session 的详细讲解,描述了其存在的理由、其驱动理念,最后通过动画图表演示了 Session 的生命周期。我们将介绍关系数据库如何在事务中引用数据库行,以及 Session 多年来如何开发出与此生命周期紧密代理的集成。

    使用 SQLAlchemy 手工编码的应用程序 - 在 Pycon US, 2012 上展示
    作者:Mike Bayer

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

    SQLAlchemy Core 简介 - 在 Pycon North America, 2014 上展示
    作者:Jason Meyers

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

    使用 Alembic 和 SQLAlchemy 进行合理的模式迁移 - 在 Pycon North America, 2014 上展示
    作者:Selena Deckelmann

    与开发人员一起进行模式迁移一直是 DBA 和开发人员面临的长期挑战。开发人员倾向于喜欢“一劳永逸”的工具。本次演讲讨论了用于从纯 SQL 和 shell 迁移系统过渡到使用 SQLAlchemy 和 Alembic 以实现 DBA 和开发人员最大程度的幸福感的策略。

    发挥 SQLAlchemy 的关系力量 - 在 Pycon US, 2012 上展示
    作者:Brandon Rhodes

    程序员经常使用 ORM 来隐藏数据库并避免学习其工作原理。相反,我鼓励程序员学习一些 SQL 并熟悉数据库查询旨在很好地解决的问题。在本次演讲中,我概述了使用 SQLAlchemy 制作高效查询并避免几种常见的数据库查询反模式的基础知识。

    SQLAlchemy - 架构回顾 - 在 PyGotham 2011 上展示
    作者: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 Dispatch Wiki 教程 - Pylons 文档的一部分
    作者:Chris McDonough

    这是 Pyramid Web Framework 中 SQLAlchemy 集成的官方教程。在传统的 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}
}