Работа с базами данных в Python с помощью SQLAlchemy: пошаговое руководство
2026-02-26 22:45 Diff

Приложения и программные решения так или иначе обрабатывают информацию, которую необходимо хранить на случай повторного воспроизведения и использования. Обычно для этого применяют системы управления или серверы баз данных, а в небольших проектах достаточно создать БД с использованием библиотеки SQLAlchemy Python.

Содержание

Что такое SQLAlchemy Python

SQLAlchemy — это библиотека с открытым исходным кодом, созданная для синхронизации объектов Python с записями реляционных баз данных: Oracle, PostgreSQL, Microsoft SQL Server и др. SQLAlchemy создает модель преобразования информации из базы данных в объекты Python. Библиотека состоит из двух компонентов: SQLAlchemy Core и SQLAlchemy ORM.

  • SQLAlchemy Core — компонент для взаимодействия библиотеки с SQL базами данных. Он определяет тип базы данных, преобразует код Python в понятные для баз запросы, работает с таблицами, индексами, колонками и т. п.
  • SQLAlchemy ORM — интерфейс для управления базами данных через модели и объекты. Он передает запросы прямо в коде Python и не требует их записи на языке SQL.

Особенности SQLAlchemy Python

SQLAlchemy позволяет заменить одну базу данных другой с аналогичным наполнением в любой момент. Разработчикам необходимо всего лишь скорректировать часть кода с указанием типа используемого хранилища, но не переписывать его полностью.

SQLAlchemy позволяет формировать запросы через функции и выражения Python. Библиотека состоит из модулей и имеет высокий уровень масштабируемости. Она совместима с написанными вручную SQL-запросами.

С чего начать работу в SQLAlchemy Python

Установите библиотеку через команду  pip install sqlalchemy.

Библиотека SQLAlchemy поддерживает ряд диалектов для связи с различными базами: PostgreSQL, Oracle, Microsoft SQL Server (MS SQL), MySQL, SQLite. Рассмотрим основные шаги по подключению и управлению базами данных.

Добавляем таблицу

Для начала необходимо настроить подключение к базе данных и создать объект engine. Он отвечает за управление базой данных и выполнение запросов SQL:

Команда conn = engine.connect()подключит базу, а metadata = db.MetaData()будет хранить данные о ее устройстве.

Теперь можно создавать объект «‎таблица». Пусть это будет база данных с постами в социальных сетях ‎и комментариями к ним:

Используем следующую команду, чтобы создать объект и запустить наш код: metadata.create_all(engine)

База будет выглядеть так:

Заполняем таблицу

Для добавления элементов в нашу базу необходимо создать запрос в виде объекта.

Столбцы post_id и post_is_commented заполняются автоматически. Для передачи этого запроса в базу данных и внесения новой записи мы будем использовать команду conn.execute(insertion_query)

Теперь наша база выглядит так:

База данных с постами готова! Самое время попробовать выполнить некоторые базовые манипуляции с ее данными — отфильтровать, обновить и удалить.

Фильтруем данные (where)

Используем стандартный метод where для создания нового запроса. Функция покажет посты только интересующего нас автора:

Вывод:

Обновляем данные (update)

Воспользуемся функцией update для внесения изменений в дату публикации одного из постов:

Чтобы проверить обновления в консоли, отправим запрос:

Вывод:

Удаляем данные (delete)

Ненужные записи в базе данных всегда можно удалить с помощью запроса:

Для проверки успешности обновлений выведем данные в консоль с помощью запроса:

Вывод:

Для корректного завершения работы с БД необходимо использовать команду conn.close().

Это базовые функции библиотеки SQLAlchemy Python  В рамках курса «Python-разработчик» вы изучите теорию и будете создавать и работать с базами данных, используя этот и другие инструменты Python на практике.