Мои инструменты

ФОРМАТИРОВЩИК SQL / 14 ДИАЛЕКТОВ

Форматирование SQL

Превратите однострочный запрос в структуру, понятную с первого взгляда.

Работает локально · код не загружается
Параметры

ВАШ СЛЕДУЮЩИЙ ШАГ

Свяжите полезные инструменты с рабочими процессами компании

Создайте корпоративный аккаунт, чтобы настроить мониторинг сайта, деловую почту и уведомления и пригласить команду к совместной работе.

Новые компании получают 14-дневный пробный период Pro без банковской карты. В пробный период не входит платное ежемесячное начисление кредитов.

Уже есть аккаунт? Откройте рабочее пространство →

Как пользоваться

  1. Вставьте код, перетащите файл или загрузите пример; язык для этой страницы задан заранее и его можно изменить.
  2. Выберите форматирование или минификацию и настройте отступы, ширину и другие параметры; результат появляется справа по мере ввода.
  3. Скопируйте или скачайте результат; при ошибке нажмите «Перейти к ошибке», исправьте и запустите снова.

Диалекты SQL и регистр ключевых слов

Базы данных различаются: MySQL использует обратные кавычки, SQL Server — квадратные скобки, PostgreSQL — приведение типов через ::. Выберите правильный диалект, чтобы всё разбиралось верно; ключевые слова в верхнем регистре — самое распространённое соглашение, но можно оставить их как есть.

Поддерживаемые диалекты
ДиалектТипичный синтаксис
MySQL / MariaDB`table`, LIMIT 10
PostgreSQLvalue::int, RETURNING *
SQL Server (T-SQL)[table], TOP 10
Oracle PL/SQLNVL(), ROWNUM
BigQuery`project.dataset.table`
SQLite / Snowflake / Redshift / Spark / Hive / Trino / Db2Собственные функции и ключевые слова

Языки и движки

Форматирование использует те же открытые движки, что и популярные редакторы, поэтому результат совпадает с Prettier в VS Code и команда может придерживаться единого стиля. Все движки загружаются с этого сайта и работают в браузере.

Язык
ЯзыкФорматСжать
HTMLPrettier 3✓ комментарии и пробелы
XMLXML-движок XunL✓
CSS / SCSS / LessPrettier 3✓ реструктуризация CSSO
JavaScript / TypeScriptPrettier 3 (Babel)✓ Terser (только JavaScript)
JSONPrettier 3✓ большие числа сохраняют точность
YAMLPrettier 3— (комментарии сохраняются)
SQLsql-formatter (14 диалектов)—

Частые вопросы

Зачем выбирать диалект?

Базы данных по-разному заключают идентификаторы в кавычки и называют функции: обратные кавычки MySQL, квадратные скобки SQL Server, приведение :: в PostgreSQL. Правильный диалект разбирает их верно, неправильный может выдать ошибку или странно их разбить.

Может ли форматирование изменить результаты запроса?

Нет, меняются только пробелы, переносы строк и регистр ключевых слов; строки и идентификаторы в кавычках не затрагиваются. Всё же перед продакшеном один раз запустите запрос на тестовой базе.

Загружается ли мой код?

Нет. Движки загружаются с этого сайта и работают в браузере; ваш код никогда не проходит через наши серверы или третьи стороны, поэтому инструмент безопасен для внутреннего кода и конфигураций.

Каков максимальный размер файлов?

До 5 МБ на файл; при размере больше 300 КБ страница ждёт нажатия кнопки вместо форматирования на лету, чтобы браузер не тормозил.

Как писать единообразный и читаемый SQL?

Распространённые соглашения: ключевые слова — заглавными (SELECT, FROM, WHERE, JOIN); каждое предложение — с новой строки, а при большом числе столбцов — по одному на строку; подзапросы и CASE — с отступом на один уровень; явный JOIN ... ON вместо условий соединения в WHERE; осмысленные короткие псевдонимы таблиц (o для orders); и не используйте SELECT со звёздочкой — выбирайте только нужные столбцы. Когда команда договорится о стиле, применяйте его этим инструментом, чтобы ускорить ревью и поиск ошибок; форматирование меняет только вид, но не результаты запроса.

практическое руководство по форматировщику SQL и частые вопросы

Что делает форматировщик SQL?

На основе открытой библиотеки sql-formatter 15 SQL разбирается в выбранном диалекте: каждое предложение (SELECT, FROM, WHERE, GROUP BY…) на отдельной строке, столбцы и условия с отступом по одному на строку, единый регистр ключевых слов, типов данных и функций.

Для кого это и когда полезно?

Разработчики, аналитики и администраторы БД, которые пишут отчёты, ускоряют медленные запросы или проверяют код и хотят сделать читаемым однострочный запрос или запрос, выведенный ORM.

Как пользоваться форматировщиком SQL?

Выберите диалект и регистр ключевых слов, вставьте SQL и получите одно предложение и один столбец на строку, а несколько операторов — раздельно.

Как понимать результаты?

Меняются только пробелы и регистр; смысл не переписывается, таблицы и столбцы не проверяются. Хранимые процедуры и редкие расширения диалектов могут не разобраться; если не получилось, попробуйте стандартный SQL.

Где выполняется работа и какие сервисы получают данные?

SQL форматируется локально: подключения к базе данных нет, запросы никуда не отправляются.