Essential SQLAlchemy introduces a high-level open-source code library that makes it easier for Python programmers to access relational databases such as Oracle, DB2, MySQL, PostgreSQL, and SQLite. SQLAlchemy has become increasingly popular since its release, but it still lacks good offline documentation. This practical book fills the gap, and because a developer wrote it, you get an objective look at SQLAlchemy's tools rather than an advocate's description of all the "cool" features.
SQLAlchemy includes both a database server-independent SQL expression language and an object-relational mapper (ORM) that lets you map "plain old Python objects" (POPOs) to database tables without substantially changing your existing Python code. Essential SQLAlchemy demonstrates how to use the library to create a simple database application, walks you through simple queries, and explains how to use SQLAlchemy to connect to multiple databases simultaneously with the same Metadata. You also learn how to:
- Create custom types to be used in your schema, and when it's useful to use custom rather than built-in types
- Run queries, updates, and deletes with SQLAlchemy's SQL expression language
- Build an object mapper with SQLAlchemy, and understand the differences between this and active record patterns used in other ORMs
- Create objects, save them to a session, and flush them to the database
- Use SQLAlchemy to model object oriented inheritance
- Provide a declarative, active record pattern for use with SQLAlchemy using the Elixir extension
- Use the SQLSoup extension to provide an automatic metadata and object model based on database reflection
In addition, you'll learn how and when to use other extensions to SQLAlchemy, including AssociationProxy, OrderingList, and more.
Essential SQLAlchemy is the much-needed guide for every Python developer using this code library. Instead of a feature-by-feature documentation, this book takes an "essentials" approach that gives you exactly what you need to become productive with SQLAlchemy right away.