SQLAlchemy 2.0 Dokumentation
SQLAlchemy Core
- API für SQL-Anweisungen und Ausdrücke
- Schema Definition Language¶
- SQL Datentyp-Objekte
- Engine und Connection verwenden
- Grundlagen der Core API
Projektversionen
- Vorherige: Visitor- und Traversierungs-Utilities
- Nächste: Datenbanken mit MetaData beschreiben
- Nach oben: Startseite
- Auf dieser Seite
Schema Definition Language¶
Dieser Abschnitt bezieht sich auf die Schema-Metadaten von SQLAlchemy, ein umfassendes System zur Beschreibung und Inspektion von Datenbankschemata.
Der Kern der Abfrage- und Objektmapping-Operationen von SQLAlchemy wird durch Datenbank-Metadaten unterstützt, die aus Python-Objekten bestehen, die Tabellen und andere schemabezogene Objekte beschreiben. Diese Objekte sind der Kern von drei Hauptarten von Operationen – das Ausgeben von CREATE- und DROP-Anweisungen (bekannt als DDL), das Konstruieren von SQL-Abfragen und das Ausdrücken von Informationen über Strukturen, die bereits in der Datenbank vorhanden sind.
Datenbank-Metadaten können durch explizites Benennen der verschiedenen Komponenten und ihrer Eigenschaften ausgedrückt werden, wobei Konstrukte wie Table, Column, ForeignKey und Sequence verwendet werden, die alle aus dem Paket sqlalchemy.schema importiert werden. Sie können auch von SQLAlchemy durch einen Prozess namens Reflection generiert werden, was bedeutet, dass Sie mit einem einzelnen Objekt wie Table beginnen, ihm einen Namen zuweisen und dann SQLAlchemy anweisen, alle zusätzlichen Informationen, die sich auf diesen Namen beziehen, aus einer bestimmten Engine-Quelle zu laden.
Ein Hauptmerkmal der Datenbank-Metadaten-Konstrukte von SQLAlchemy ist, dass sie in einem deklarativen Stil verwendet werden sollen, der dem von realen Schema-Generierungsskripten sehr ähnlich ist. Sie sind daher für diejenigen, die etwas Erfahrung mit der Erstellung von Skripten zur Erzeugung von realen Schemata haben, am intuitivsten.
- Datenbanken mit MetaData beschreiben
- Datenbankobjekte reflektieren
- Column INSERT/UPDATE Defaults
- Skalare Standardwerte
- Python-ausgeführte Funktionen
- Client-aufgerufene SQL-Ausdrücke
- Server-aufgerufene DDL-explizite Standardausdrücke
- Markieren von implizit generierten Werten, Zeitstempeln und getriggerten Spalten
- Sequenzen definieren
- Berechnete Spalten (GENERATED ALWAYS AS)
- Identitätsspalten (GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY)
- API für Default-Objekte
- Constraints und Indizes definieren
- Fremdschlüssel definieren
- UNIQUE Constraint
- CHECK-Constraint
- PRIMARY KEY-Constraint
- Einrichten von Constraints bei Verwendung der deklarativen ORM-Erweiterung
- Konfiguration von Constraint-Namenskonventionen
- Konfiguration einer Namenskonvention für eine MetaData-Sammlung
- Die Standard-Namenskonvention
- Abschneiden langer Namen
- Erstellen benutzerdefinierter Token für Namenskonventionen
- Benennen von CHECK-Constraints
- Konfiguration von Benennungen für Boolean-, Enum- und andere Schematypen
- Verwendung von Namenskonventionen mit ORM-deklarativen Mixins
- API für Constraints
- Indizes
- Index API
- DDL anpassen
Die Designs von flambé! dem Drachen und Der Alchemist wurden von Rotem Yaari erstellt und großzügig gespendet.
Erstellt mit Sphinx 7.2.6. Dokumentation zuletzt generiert: Di 11 Mär 2025 14:40:17 EDT