Schema 定义语言¶
本节引用 SQLAlchemy 架构元数据,这是一个描述和检查数据库架构的综合系统。
SQLAlchemy 的查询和对象映射作的核心由
数据库元数据,由描述表和其他架构级对象的 Python 对象组成。这些对象是三种主要作类型的核心 - 发出 CREATE 和 DROP 语句(称为 DDL)、构造 SQL 查询以及表达有关数据库中已存在的结构的信息。
可以通过显式命名各种组件来表示数据库元数据
及其属性,使用诸如
表
、列、
ForeignKey
和
Sequence 的 Sequence
中导入的,所有这些
sqlalchemy.schema
包中。它也可以由 SQLAlchemy 使用称为反射的过程生成,这意味着您从单个对象(如 Table
)开始,为其分配一个名称,然后指示 SQLAlchemy 从特定引擎源加载与该名称相关的所有附加信息。
SQLAlchemy 的数据库元数据结构的一个关键特性是,它们被设计为以声明式风格使用,这与真正的 DDL 非常相似。因此,对于在创建实际架构生成脚本方面具有一定背景的人来说,它们最直观。