Перейти к содержимому
useToolz онлайн-инструменты

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-запрос по токенам: он распознаёт ключевые слова, строковые литералы, скобки, запятые и точки с запятой. Строковые литералы в одинарных, двойных кавычках и обратных апострофах обрабатываются отдельно — их содержимое не изменяется.

Алгоритм форматирования:

  1. Токенизация запроса с сохранением строковых литералов
  2. Нормализация пробелов в нестроковых частях
  3. Расстановка переносов строк перед ключевыми словами верхнего уровня
  4. Увеличение отступа при открытии скобки, уменьшение при закрытии
  5. Добавление отступа перед подчинёнными ключевыми словами (AND, OR, ON)

Ключевые слова SQL

ГруппаКлючевые словаПоведение
Основные операторыSELECT, FROM, WHERE, HAVING, LIMITНовая строка без отступа
Операторы JOINJOIN, 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

Увеличенное изображение