Урок 07. SQLAlchemy: запросы

📁 Блок: Flask ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#sqlalchemy #crud #запросы #фильтрация #сортировка #select

⚡ Кратко: CRUD и запросы в SQLAlchemy 2.x

CRUD — Create, Read, Update, Delete — четыре базовые операции с БД. В SQLAlchemy 2.x запросы строятся через select() + session.execute() / session.scalars().

  • Create: session.add(obj), session.add_all([...]), session.commit()
  • Read: session.scalars(select(User)) — все, session.get(User, id) — по id
  • Update: получить объект → изменить атрибут → session.commit()
  • Delete: session.delete(obj)session.commit()
  • Фильтр: .where(User.age > 25), .like(), .between(), .in_()
  • Сортировка: .order_by(User.age), .order_by(desc(User.age))

Топ-3 ошибки: 1) Забыть commit(). 2) Перепутать where() / filter(). 3) Использовать устаревший session.query() в новом проекте.

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

В этом уроке изучаются CRUD-операции в SQLAlchemy и построение запросов: фильтрация, сортировка, логические условия. Лекция охватывает оба стиля — устаревший 1.x (session.query()) и современный 2.x (select()).

Что изучим

  • CRUD: Create (add/add_all), Read (get по ключу, выборки), Update, Delete
  • Методы извлечения данных: .all(), .first(), .one(), .one_or_none()
  • Фильтрация: where() / filter(), операторы сравнения, like(), between(), in_()
  • Логические условия: and_(), or_(), not_()
  • Сортировка: order_by(), desc(), многоуровневая сортировка
  • Сравнение 1.x (лекция) и 2.x API

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

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