Форматирование SQL онлайн
Вставьте нечитаемый запрос — и сразу получите аккуратный SQL. Каждое предложение начинается с новой строки, колонки и условия выровнены, подзапросы и CASE получают отступ, а в CREATE TABLE каждая колонка стоит на своей строке. Выберите диалект (MySQL, PostgreSQL, SQL Server, Oracle, SQLite или BigQuery), чтобы обратные кавычки, [квадратные скобки], строки $$ и приведение :: обрабатывались правильно, задайте регистр ключевых слов, размер отступа и положение запятых. Инструмент подсветит незакрытые кавычки, непарные скобки и DELETE или UPDATE без WHERE, сожмёт запрос в одну строку и скопирует его как строку для Python, JavaScript, Java, C# или PHP. Ваш SQL не покидает браузер.
Бесплатно · Без регистрации
Как пользоваться
- Вставьте SQL или откройте .sql-файл.
- Выберите диалект базы данных, регистр и отступы.
- Проверьте отформатированный запрос и исправьте отмеченные проблемы.
- Скопируйте, скачайте как .sql или скопируйте строкой кода.
Почему стоит использовать этот инструмент
Читаемая вёрстка
Предложения с новой строки, выровненные колонки и условия, отступы у подзапросов, CTE и CASE.
Семь диалектов
MySQL с обратными кавычками и #, PostgreSQL с $$ и ::, T-SQL со [скобками] и GO, Oracle, SQLite, BigQuery.
Ваш стиль
Ключевые слова прописными или строчными, 2 или 4 пробела либо табы, запятые в начале или в конце.
Проверка ошибок
Находит незакрытые строки и комментарии, непарные скобки, DELETE и UPDATE без WHERE.
Сжатие
Запрос в одну строку, по желанию с комментариями и хинтами оптимизатора.
Копирование для кода
Запрос строкой Python, JavaScript, Java, C# или PHP — сразу вставить в программу.
Зачем форматировать SQL
SQL из логов, ORM вроде Hibernate или Entity Framework и BI-систем часто приходит одной бесконечной строкой. После форматирования каждое предложение стоит на своей строке, и сразу видно, что выбирается, какие таблицы соединяются и как фильтруются строки. Так проще проводить ревью, меньше диффы в Git и легче заметить ошибку вроде забытого условия JOIN.
Какой диалект выбрать
- PostgreSQL (включая Postgres Pro): функции в $$, приведение типов :: и параметры $1.
- MySQL / MariaDB: имена в `обратных кавычках`, комментарии # и экранирование обратным слешем.
- SQL Server: имена в [квадратных скобках], @переменные, TOP и разделитель пакетов GO.
- Oracle: хинты /*+ */ сохраняются при сжатии.
- Для ClickHouse и других СУБД подойдёт «Стандартный SQL».
Распространённые правила оформления
Большинство команд пишет ключевые слова прописными, имена — строчными, делает отступ в 2 или 4 пробела и ставит по одной колонке на строку в SELECT. Запятые в начале строки удобно комментировать и они дают чистые диффы, запятые в конце читаются привычнее. Главное — придерживаться одного стиля, а ещё лучше проверять его линтером, например SQLFluff, в CI.
Проверки перед выполнением запроса
- UPDATE или DELETE без WHERE меняют всю таблицу. Сначала выполните SELECT с тем же WHERE.
- Рискованные изменения выполняйте в транзакции, чтобы можно было сделать ROLLBACK.
- Не используйте SELECT * в коде приложения.
- Никогда не подставляйте ввод пользователя в строку SQL — используйте параметры (?, $1, @id).
Частые вопросы
Форматер SQL бесплатный?
Да. Без регистрации и без ограничений по размеру, кроме возможностей браузера.
Отправляется ли мой SQL на сервер?
Нет. Форматирование выполняется в браузере, имена таблиц и данные из запросов остаются у вас.
Изменится ли работа запроса?
Нет. Меняются только пробелы, переносы строк и регистр ключевых слов. Строки, имена и комментарии остаются как были.
Какие СУБД поддерживаются?
Стандартный SQL, MySQL и MariaDB, PostgreSQL, SQL Server, Oracle, SQLite и BigQuery.
Можно ли форматировать хранимые процедуры?
Да, выражение за выражением. Очень сложные конструкции PL/SQL или T-SQL могут потребовать ручной правки.
Проверяет ли инструмент синтаксис?
Он находит частые ошибки — незакрытые кавычки и непарные скобки, — но не сверяет имена таблиц и колонок с вашей базой.
Как оформлять SQL, чтобы его понимали другие
Похожие инструменты
Нужно что-то создать?
Расскажите, что вы хотите построить.
Расскажите, что вам нужно создать: от простого сайта до полноценного приложения, AI-решения, автоматизации или индивидуальной системы.