SQLAlchemy Docs:Python 数据库工具 SQLAlchemy 2.1 的官方文档,含 ORM 与 Core
首页与版本
首页上方写明,Release 2.1.6 为 CURRENT RELEASE,发布日期为 2026 年 10 月 21 日。截至 2026 年 10 月 29 日,文档站默认展示的是这一版本。
页面侧栏的 Project Versions 列出 2.1、2.0 和 1.4 三条版本线。

这张截图较旧,标注的版本是 2.1.5,发布日期为 2026 年 10 月 16 日。截至 2026 年 10 月 29 日,首页显示的是 2.1.6,发布日期为 2026 年 10 月 21 日。
入门与教程
Getting Started 区块分为两类读者。初学 Python 的读者可以从安装指南开始,它讲解如何用 pip 等工具安装 SQLAlchemy;有 Python 经验的读者可以先读 SQLAlchemy Overview,了解它的整体架构。
Overview 页面说明,ORM 构建在 Core 之上,用于处理映射到数据库表结构的领域对象;Core 包含 SQL 表达式语言,这一部分可以独立于 ORM 使用,用可组合的对象构造 SQL 语句,并在事务中执行。
教程方面,首页推荐 SQLAlchemy Unified Tutorial,它同时覆盖 ORM 与 Core 的用法;想先看 ORM 大致样子的读者,可以读 ORM Quick Start。
从 1.x 升级
首页的 Migration Notes 写明,从 1.x 版本(例如 1.4)升级的用户应先迁移到 2.0,再处理 2.0 到 2.1 的变化。相关页面包括 Migrating to SQLAlchemy 2.0、What's New in SQLAlchemy 2.0? 和 What's New in SQLAlchemy 2.1?。Changelog catalog 则收录各个版本的详细变更日志。
反射:从数据库读取表结构
Reflecting Database Objects 页面介绍反射(reflection):Table 对象可以从数据库中已有的表读取自身的结构。最简单的用法只需要表名、MetaData 对象和 autoload_with 参数。页面示例中,Table("messages", metadata_obj, autoload_with=engine) 读取 messages 表,随后 [c.name for c in messages.columns] 输出 ['message_id', 'message_name', 'date']。
如果一张表通过外键引用了另一张表,反射时 MetaData 中还会再创建一个 Table 对象,用来表示这层外键关联。页面侧栏还列出覆盖反射列、反射视图、按数据库无关类型反射,以及反射的限制等子页面。

这张截图的页眉同样标注 2.1.5 与 2026 年 10 月 16 日,与上文的 2.1.6 版本信息不同,阅读时以页面顶部的版本为准。