Communicating with a SQL database with SQLAlchemy ORM
To begin, we’ll discuss how to work with a relational database using the SQLAlchemy library. SQLAlchemy has been around for years and is the most popular library in Python when you wish to work with SQL databases. Since version 1.4, it also natively supports async.
The key thing to understand about this library is that it’s composed of two parts:
- SQLAlchemy Core, which provides all the fundamental features to read and write data to SQL databases
- SQLAlchemy ORM, which provides a powerful abstraction over SQL concepts
While you can choose to only use SQLAlchemy Core, it’s generally more convenient to use ORM. The goal of ORM is to abstract away the SQL concepts of tables and columns so that you only have to deal with Python objects. The role of ORM is to map those objects to the tables and columns they belong to and generate the corresponding SQL queries automatically.
The first step is...