Как пользоваться
- Вставьте оператор в поле SQL. Разметка создаётся по мере ввода.
- Выберите Отступ в 2 или 4 пробела.
- Отметьте Сжать: всё в одну строку, если оператор должен занимать одну строку, например в файле настроек или в журнале.
- Скопируйте Отформатированный SQL или скачайте его как formatted.sql.
Как строится разметка
Форматировщик читает текст как лексемы: слова, числа, строки, имена в кавычках, комментарии, операторы и знаки препинания. Слова из списка ключевых слов SQL пишутся заглавными буквами, а остальные, включая имена, сохраняют написание. Предложение вроде SELECT, FROM, WHERE, GROUP BY, HAVING или ORDER BY начинает новую строку, а его содержимое сдвигается на один отступ вправо.
Внутри SELECT, FROM, GROUP BY, ORDER BY, SET и VALUES каждая запятая начинает новую строку. AND и OR начинают строку под WHERE, HAVING и ON. Соединение вроде LEFT OUTER JOIN начинает строку под FROM, а его условие ON остаётся на этой строке. Подзапрос в скобках сдвигается на один отступ глубже строки, на которой стоит его скобка, а закрывающая скобка выравнивается по этой строке.
- Строки с удвоенными кавычками, имена в двойных кавычках, обратных кавычках или квадратных скобках и текст в долларовых кавычках сохраняются точно.
- Однострочные и блочные комментарии сохраняются. При сжатии однострочный комментарий становится блочным, чтобы оператор мог остаться в одной строке.
Чего форматировщик не делает
Форматировщик не разбирает оператор, поэтому не проверяет, что это корректный SQL, и не меняет его смысл. Он не знает правил конкретной базы данных, поэтому ключевое слово, которое особое в одном диалекте и обычное имя в другом, пишется заглавными буквами в обоих случаях. Проверьте результат в своей базе данных, прежде чем использовать его в рабочей системе.
Пример: отчётный запрос
Запрос по умолчанию выбирает id и name активных пользователей вместе с числом их заказов, группирует строки и сортирует по этому числу. При отступе в два пробела список столбцов выводится по одному столбцу в строке, каждое предложение начинается с новой строки, а последняя строка — LIMIT 10.
Сжатый, тот же оператор занимает одну строку с одиночными пробелами между словами. Счётчик показывает 1 оператор.
Частые вопросы
Какой диалект SQL поддерживает форматировщик?
Он работает с частями, которые разделяют большинство диалектов: SELECT, INSERT, UPDATE, DELETE, соединения, подзапросы и CASE. Он принимает стили кавычек MySQL, PostgreSQL, SQL Server и SQLite, но не проверяет синтаксис, специфичный для диалекта.
Изменит ли форматирование результат моего запроса?
Нет. Меняются только пробелы, переводы строк и регистр ключевых слов. Имена, строки, числа и комментарии сохраняются точно, поэтому оператор означает то же самое.
Почему слово в имени таблицы или столбца стало заглавным?
Это слово есть в списке ключевых слов, например USE или ORDER, поэтому оно пишется заглавными буквами везде, где стоит. Имена, которых нет в списке, сохраняются точно. Чтобы сохранить имя как есть, возьмите его в двойные кавычки или обратные кавычки.
Почему однострочный комментарий становится блочным при сжатии?
Однострочный комментарий заканчивается в конце своей строки, поэтому на одной строке он скрыл бы остаток оператора. Блочный комментарий сохраняет текст и не скрывает код после себя.
Отправляется ли мой SQL на сервер?
Нет. Форматирование выполняется в вашем браузере. Ничего из вставленного не отправляется на наш сервер и не сохраняется там, что важно, когда оператор содержит личные данные.
Источники
- Документация PostgreSQL: синтаксис SQL, лексическая структура (на английском)
- Документация SQLite: ключевые слова SQL (на английском)
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..