Форматирование SQL-запроса
Вы скопировали SQL-запрос, автоматически сгенерированный ORM или взятый из инструмента администрирования базы данных, и он умещается на одной нечитаемой строке? Вставьте его сюда — получите версию с ключевыми словами в верхнем регистре и каждой основной конструкцией на отдельной строке.
Внимание: это простой форматтер на основе распознавания ключевых слов, а не настоящий парсер SQL вроде sqlformat. Он не обрабатывает подзапросы или CTE особым образом (для них нет отдельного отступа) и поддерживает только наиболее распространённые диалекты SQL.
Как это работает
Вставьте SQL-запрос в поле выше и нажмите «Форматировать»: распространённые ключевые слова (SELECT, FROM, WHERE, JOIN и его варианты, GROUP BY, ORDER BY, INSERT INTO, VALUES, UPDATE, SET, DELETE, AND, OR, LIMIT) переводятся в верхний регистр, и каждая основная конструкция начинается с новой строки, чтобы структура запроса была видна с первого взгляда. Содержимое строковых литералов (в одинарных кавычках) и идентификаторов в двойных кавычках никогда не изменяется.
Хорошо ли обрабатываются запросы, сгенерированные ORM (Django, Prisma, Hibernate...)?
В подавляющем большинстве случаев да: такие запросы используют стандартный синтаксис SQL, который инструмент хорошо распознаёт. Для очень сложных запросов с множеством вложенных подзапросов отступы не будут визуально разделять уровни вложенности, но отформатированный запрос останется читаемым и корректным.
Может ли форматирование изменить результат моего запроса?
Нет. Изменяется только представление (заглавные буквы ключевых слов, переносы строк). Имена таблиц, столбцов, значения и логика запроса остаются строго идентичными.
Форматирование выполняется на 100% локально в вашем браузере через WebAssembly: ваш SQL-запрос никогда не отправляется на сервер.