模式定义语言

本节介绍 SQLAlchemy 的 模式元数据,这是一个描述和检查数据库模式的综合系统。

SQLAlchemy 查询和对象映射操作的核心由数据库元数据支持,数据库元数据由描述表和其他模式级对象的 Python 对象组成。这些对象是三种主要操作类型的核心 - 发出 CREATE 和 DROP 语句(称为 DDL),构造 SQL 查询,以及表达关于数据库中已存在结构的信息。

数据库元数据可以通过显式命名各种组件及其属性来表达,使用诸如 Table, Column, ForeignKeySequence 等构造,所有这些都从 sqlalchemy.schema 包中导入。它也可以由 SQLAlchemy 使用称为反射的过程生成,这意味着您从单个对象(例如 Table)开始,为其分配一个名称,然后指示 SQLAlchemy 从特定的引擎源加载与该名称相关的所有附加信息。

SQLAlchemy 数据库元数据构造的一个关键特性是它们被设计为以声明式风格使用,这种风格非常类似于真实的 DDL。 因此,对于那些在创建真实模式生成脚本方面有一些背景知识的人来说,它们是最直观的。