:orphan: .. _index_toplevel: ======================== SQLAlchemy Documentation ======================== .. container:: left_right_container .. container:: leftmost .. rst-class:: h2 Getting Started .. container:: New to SQLAlchemy? Start here: * **For Python Beginners:** :ref:`Installation Guide ` - basic guidance on installing with pip and similar * **For Python Veterans:** :doc:`SQLAlchemy Overview ` - brief architectural overview .. container:: left_right_container .. container:: leftmost .. rst-class:: h2 Tutorials .. container:: New users of SQLAlchemy, as well as veterans of older SQLAlchemy release series, should start with the :doc:`/tutorial/index`, which covers everything an Alchemist needs to know when using the ORM or just Core. * **For a quick glance:** :doc:`/orm/quickstart` - a glimpse at what working with the ORM looks like * **For all users:** :doc:`/tutorial/index` - In depth tutorial for Core and ORM .. container:: left_right_container .. container:: leftmost .. rst-class:: h2 Migration Notes .. container:: Users coming from older versions of SQLAlchemy, especially those transitioning from the 1.x style of working, will want to review this documentation. * :doc:`Migrating to SQLAlchemy 2.0 ` - Complete background on migrating from 1.3 or 1.4 to 2.0 * :doc:`What's New in SQLAlchemy 2.0? ` - New 2.0 features and behaviors beyond the 1.x migration * :doc:`Changelog catalog ` - Detailed changelogs for all SQLAlchemy Versions .. container:: left_right_container .. container:: leftmost .. rst-class:: h2 Reference and How To .. container:: orm **SQLAlchemy ORM** - Detailed guides and API reference for using the ORM * **Mapping Classes:** :doc:`Mapping Python Classes ` | :doc:`Relationship Configuration ` * **Using the ORM:** :doc:`Using the ORM Session ` | :doc:`ORM Querying Guide ` | :doc:`Using AsyncIO ` * **Configuration Extensions:** :doc:`Association Proxy ` | :doc:`Hybrid Attributes ` | :doc:`Mutable Scalars ` | :doc:`Automap ` | :doc:`All extensions ` * **Extending the ORM:** :doc:`ORM Events and Internals ` * **Other:** :doc:`Introduction to Examples ` .. container:: core **SQLAlchemy Core** - Detailed guides and API reference for working with Core * **Engines, Connections, Pools:** :doc:`Engine Configuration ` | :doc:`Connections, Transactions, Results ` | :doc:`AsyncIO Support ` | :doc:`Connection Pooling ` * **Schema Definition:** :doc:`Overview ` | :ref:`Tables and Columns ` | :ref:`Database Introspection (Reflection) ` | :ref:`Insert/Update Defaults ` | :ref:`Constraints and Indexes ` | :ref:`Using Data Definition Language (DDL) ` * **SQL Statements:** :doc:`SQL Expression Elements ` | :doc:`Operator Reference ` | :doc:`SELECT and related constructs ` | :doc:`INSERT, UPDATE, DELETE ` | :doc:`SQL Functions ` | :doc:`Table of Contents ` * **Datatypes:** :ref:`Overview ` | :ref:`Building Custom Types ` | :ref:`Type API Reference ` * **Core Basics:** :doc:`Overview ` | :doc:`Runtime Inspection API ` | :doc:`Event System ` | :doc:`Core Event Interfaces ` | :doc:`Creating Custom SQL Constructs ` .. container:: left_right_container .. container:: leftmost .. rst-class:: h2 Dialect Documentation .. container:: The **dialect** is the system SQLAlchemy uses to communicate with various types of DBAPIs and databases. This section describes notes, options, and usage patterns regarding individual dialects. :doc:`PostgreSQL ` | :doc:`MySQL ` | :doc:`SQLite ` | :doc:`Oracle ` | :doc:`Microsoft SQL Server ` :doc:`More Dialects ... ` .. container:: left_right_container .. container:: leftmost .. rst-class:: h2 Supplementary .. container:: * :doc:`Frequently Asked Questions ` - A collection of common problems and solutions * :doc:`Glossary ` - Terms used in SQLAlchemy's documentation * :doc:`Error Message Guide ` - Explainations of many SQLAlchemy Errors * :doc:`Complete table of of contents ` * :ref:`Index `