Да, приходилось.
Я регулярно пишу SQL-запросы вручную. Это необходимо в случаях, когда ORM недостаточен для решения задачи, требуется оптимизация сложных запросов или работа с базой данных вне приложения (например, для анализа данных или администрирования).
Основные типы запросов, которые я пишу:
SELECT с агрегатными функциями, группировкой и сложными условиями WHERE/HAVING.INSERT, UPDATE, DELETE для прямого манипулирования данными.JOIN с несколькими таблицами и различными типами соединений.CREATE, ALTER, DROP).Пример простого SQL-запроса для выборки данных с агрегацией:
sql
Для работы с базой данных из Python при ручном написании запросов я использую стандартные библиотеки или специализированные драйверы, например psycopg2 для PostgreSQL или mysql.connector для MySQL.
Пример выполнения ручного SQL-запроса в Python с использованием psycopg2:
python
Понимание SQL и умение писать запросы вручную считаю важным навыком для Python-разработчика, работающего с базами данных, поскольку он позволяет лучше понимать, что происходит "под капотом" ORM и решать задачи, выходящие за рамки его возможностей.