Форматирование SQL
Форматируйте SQL с ключевыми словами под нужный диалект или минифицируйте в одну строку
Об этом инструменте
Вставьте запрос прямо из лог-файла, отладочного дампа ORM или однострочник коллеги — и форматтер разобьёт его на читаемые клаузы с единообразными отступами. Поддерживаются шесть диалектов — стандартный SQL, PostgreSQL, MySQL, SQLite, SQL Server и BigQuery, — поэтому диалектный синтаксис вроде TOP, идентификаторов в бэктиках или массивных типов форматируется корректно, а не спотыкает парсер.
Регистр ключевых слов настраивается: ВЕРХНИЙ для классического вида, нижний, если так принято в вашей команде, или оставьте оригинал нетронутым. Режим минификации делает обратное — сворачивает отформатированный запрос в одну строку, убирая комментарии и сохраняя строковые литералы байт в байт: именно это нужно перед вставкой SQL в JSON-конфиг или флаг CLI.
Запросы часто содержат имена таблиц, данные клиентов в литералах и намёки на инфраструктуру. Форматирование выполняется целиком в вашем браузере, поэтому ничего из этого не попадает на сервер.
Частые вопросы
- Какой диалект SQL выбрать?
- Тот, на котором говорит ваша база данных — от него зависит разбор идентификаторов, кавычек в строках и диалектных ключевых слов. Для простого наведения порядка стандартный SQL покрывает общее ядро. Ошибка разбора на синтаксисе, корректном для вашей базы, — обычно знак, что пора переключить диалект.
- Меняет ли форматирование смысл запроса?
- Нет. Форматирование двигает только пробельные символы и, если включено, регистр ключевых слов — идентификаторы и литералы сохраняют свои байты в точности. Ключевые слова SQL регистронезависимы во всех поддерживаемых диалектах, поэтому SELECT и select — один и тот же запрос.
- Можно ли отформатировать несколько запросов сразу?
- Да — вставьте целый скрипт, и каждый завершённый точкой с запятой запрос будет отформатирован по порядку, с пустой строкой между ними.
- Что именно удаляет минификация?
- Строчные комментарии (--) и блочные (/* */) отбрасываются, последовательности пробельных символов сворачиваются в одиночные пробелы, пробелы вокруг запятых и скобок удаляются. Текст в одинарных кавычках, двойных кавычках и бэктиках не трогается никогда, включая экранирование удвоенными кавычками.