SQL Форматтер
Войдите или зарегистрируйтесь, чтобы сохранять инструменты в избранное
Форматирование и подсветка SQL-запросов онлайн. Автоматическое выравнивание SELECT, JOIN, WHERE и подзапросов
Инструмент для форматирования и минификации SQL-запросов.
Форматирование добавляет переносы строк и отступы для ключевых слов SQL: SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY и других.
Вложенные скобки автоматически получают дополнительный уровень отступа.
Минификация удаляет все лишние пробелы и комментарии, сжимая запрос в одну строку.
Поддерживаются все основные SQL-диалекты: MySQL, PostgreSQL, SQLite, SQL Server.
SQL форматтер и минификатор онлайн
Бесплатный онлайн-инструмент для форматирования и минификации SQL-запросов. Вставьте запрос, выберите стиль отступов — и получите читаемый, аккуратно отформатированный код или компактную однострочную версию.
Зачем форматировать SQL
SQL-запросы, сгенерированные ORM, скопированные из логов или написанные в спешке, часто представляют собой одну длинную строку без отступов. Такой код сложно читать, отлаживать и поддерживать. SQL форматтер превращает нечитаемый запрос в структурированный текст с логичными переносами строк и отступами.
Красиво отформатированный SQL — это не просто эстетика. Это способность быстро найти ошибку в условии WHERE, заметить лишний JOIN или понять порядок группировки данных. Для code review в команде форматирование обязательно.
Как работает форматтер
Инструмент анализирует SQL-запрос по токенам: он распознаёт ключевые слова, строковые литералы, скобки, запятые и точки с запятой. Строковые литералы в одинарных, двойных кавычках и обратных апострофах обрабатываются отдельно — их содержимое не изменяется.
Алгоритм форматирования:
- Токенизация запроса с сохранением строковых литералов
- Нормализация пробелов в нестроковых частях
- Расстановка переносов строк перед ключевыми словами верхнего уровня
- Увеличение отступа при открытии скобки, уменьшение при закрытии
- Добавление отступа перед подчинёнными ключевыми словами (AND, OR, ON)
Ключевые слова SQL
| Группа | Ключевые слова | Поведение |
|---|---|---|
| Основные операторы | SELECT, FROM, WHERE, HAVING, LIMIT | Новая строка без отступа |
| Операторы JOIN | JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN | Новая строка без отступа |
| Группировка/сортировка | GROUP BY, ORDER BY | Новая строка без отступа |
| Подчинённые | AND, OR, ON, WHEN, THEN, ELSE | Новая строка с отступом 2 пробела |
| Подзапросы | ( ... ) | Увеличение уровня отступа |
| Перечисления | , (запятая) | Перенос на новую строку |
Минификация запросов
Минификация — обратная задача: убрать все лишние пробелы, переносы строк и комментарии, сжав запрос в одну строку. Это полезно для:
- Передачи SQL через HTTP-запросы или query string
- Хранения запросов в конфигурационных файлах
- Сравнения запросов при A/B-тестировании производительности
- Генерации запросов в коде без лишних переводов строк
Инструмент корректно обрабатывает строковые литералы при минификации — пробелы внутри строк не удаляются. Например, WHERE name = 'John Doe' сохранит пробел в имени.
Поддерживаемые диалекты
Форматтер работает с синтаксисом всех популярных СУБД:
- MySQL / MariaDB — обратные апострофы для экранирования имён:
`table_name` - PostgreSQL — двойные кавычки:
"column_name" - SQLite — совместим с синтаксисом MySQL и PostgreSQL
- SQL Server (T-SQL) — квадратные скобки не поддерживаются, используйте двойные кавычки
- Oracle SQL — базовый синтаксис поддерживается
Частые вопросы
Меняет ли форматтер логику запроса? Нет. Форматтер изменяет только пробельные символы и регистр ключевых слов. Логика, значения и порядок операций остаются без изменений.
Можно ли форматировать несколько запросов сразу? Да — вставьте несколько запросов, разделённых точкой с запятой. Каждый ; начинает форматирование нового запроса с новой строки.
Что делать с хранимыми процедурами? Форматтер ориентирован на DML/DDL-запросы. Сложные процедуры с BEGIN/END могут форматироваться не идеально.
Смотрите также: JSON форматтер · Diff (сравнение текстов) · Минификатор JS · Минификатор CSS
Полезные статьи
WCAG контрастность: доступность цветов в веб-дизайне
Как проверить контрастность цветов по стандарту WCAG 2.1. Уровни AA и AAA, формула расчёта, рекомендации.
CSS Border Radius: скругление углов элементов
Как использовать border-radius: синтаксис, сокращённая запись, эллиптические углы. Генератор border-radius онлайн.