Урок 05. SQLAlchemy: создание и наполнение базы данных

📁 Блок: Flask ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#sqlalchemy #orm #сессия #движок #flask

⚡ Кратко: SQLAlchemy — два подхода, движок, сессия

SQLAlchemy — библиотека Python для работы с БД через SQL и объектно-ориентированные запросы. Предлагает два подхода: ORM (объекты ↔ строки) и Core (низкоуровневый SQL).

  • ORM — таблица → класс, строка → экземпляр, столбец → атрибут. Проще для разработки.
  • Core — прямая работа с SQL. Быстрее для сложных запросов.
  • create_engine — подключение: create_engine('sqlite:///:memory:')
  • Сессия — рабочий интерфейс с БД: add → commit → close
  • Логирование: logging.getLogger('sqlalchemy.engine')

Установка: pip install SQLAlchemy

Топ-3 ошибки: 1) Забыть create_all(engine). 2) Не вызвать commit(). 3) Не закрыть сессию.

📖 О чём этот урок

В этом уроке изучается SQLAlchemy — мощная библиотека Python для работы с базами данных. Лекция охватывает два подхода (ORM и Core), настройку подключения, создание движка, работу с сессией, логирование событий и практические задачи.

Что изучим

  • Что такое SQLAlchemy, ORM и Core — принципы и отличия
  • Установка библиотеки и настройка строки подключения
  • create_engine: подключение к PostgreSQL, MySQL, SQLite
  • Сессия: жизненный цикл и состояния объектов
  • Полный пример модели User с add/commit
  • Логирование SQL-запросов через модуль logging
  • Практические задачи: движок и сессия для SQLite :memory:

📚 Что повторить перед изучением

  • ← Урок 04: Summary session 1 (повторение Flask и Pydantic)
  • Базовые классы Python: наследование, атрибуты класса
  • Что такое реляционные базы данных: таблицы, строки, столбцы, первичный ключ
  • Работа с виртуальным окружением: venv, pip install

🎯 Что изучать дальше