Форматирование SQL
Вставьте SQL — он разложится сам, строки и комментарии останутся нетронутыми.
Отформатированный SQL
Как пользоваться
- Вставьте SQL в поле — он форматируется по мере ввода, нажимать ничего не нужно.
- Выберите верхний или нижний регистр для зарезервированных слов и отступ в 2 или 4 пробела; результат обновляется сразу.
- Проверьте число строк, затем скопируйте результат или скачайте его файлом .sql.
Пример
Ввод
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 and o.created_at >= '2026-01-01' group by u.id, u.name order by orders desc limit 10;
Отформатировано
SELECT u.id, u.name, count(o.id) AS orders FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE u.active = 1 AND o.created_at >= '2026-01-01' GROUP BY u.id, u.name ORDER BY orders DESC LIMIT 10;
Только правила по умолчанию: каждое предложение начинается с новой строки, элементы списка получают два пробела, а AND сдвигается. count(...) — имя функции, поэтому сохраняет набранный вами нижний регистр; строка с датой не тронута.
Правила, ограничения и известные проблемы
- Это форматирование пробелов: SQL не разбирается, не проверяется и не выполняется. Неверный SQL всё равно будет разложен.
- Селектора диалекта нет. Одинарные и двойные кавычки, обратные кавычки, квадратные скобки и строки $tag$ распознаются, поэтому SQL из MySQL, PostgreSQL, SQL Server и SQLite можно вставлять как есть.
- Регистр меняется только у зарезервированных слов. Имена функций, типов (count, int, varchar) и идентификаторы в кавычках выводятся ровно как набраны; заключайте идентификаторы в кавычки, если ваша база различает регистр.
- Строки, числа и комментарии никогда не переписываются. Комментарий -- вызывает перевод строки, а комментарии никогда не удаляются. Режима минификации нет.
- Результат подсвечивается синтаксически (ключевые слова, идентификаторы, строки, числа, комментарии), чтобы структуру было легче просматривать. Подсветка только визуальная: «Копировать» и «Скачать» всегда дают обычный отформатированный текст.
- Переводы строк появляются только на границах предложений, списков, CASE, подзапросов, окон и колонок DDL. Аргументы функций и списки IN (...) остаются в одной строке; длинные строки переносятся внутри панели результата, а «Копировать» и «Скачать» сохраняют точный текст без переносов.
- Строки просматриваются с учётом экранирования через '' и \'. Строка стандартного SQL, заканчивающаяся обратной косой чертой, например 'C:\', может быть прочитана как незакрытая: вы получите предупреждение, а ввод останется нетронутым.
- Нет хранимых процедур, DELIMITER и блоков PL/SQL; нет загрузки файлов, параметров URL и истории. Всё выполняется в браузере: ничего не загружается и не сохраняется.
- Свыше 200 000 символов результат обновляется примерно через 0,6 с после того, как вы закончите ввод; текст никогда не обрезается. Вывод использует LF и не имеет завершающего перевода строки; форматирование идемпотентно.
Похожие инструменты
Что обычно нужно дальше, когда запрос стал читаемым.