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

📁 Блок: Flask ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#add #get #select #all #order_by #ilike #mapped_column #from #import #class #pass #session #with #as #print #if #for #in #else #and #not #def #return #filter #sort #join #map #relationship #foreignkey #update #count #group_by #len #is #sum

⚡ Кратко: 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(). 3) Загрузить целые ORM-объекты там, где нужны только отдельные колонки.

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

В этом уроке изучаются CRUD-операции в SQLAlchemy и построение запросов: фильтрация, сортировка, логические условия. Основной стиль курса — SQLAlchemy 2.x: select(), where(), session.scalars().

Что изучим

  • 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

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

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