Выберите настоящий диалект
У MySQL, PostgreSQL, SQLite, SQL Server и Oracle разные правила кавычек. Выбор PostgreSQL не переводит запрос MySQL: он задаёт грамматику для текущей операции.
Инструменты баз данных и SQL
Читайте запросы, сохраняя исходный текст
Обработка локально в браузере. Нет подключения к базе или сохранённой истории.
Введите SQL или выберите пример.
Форматирование SQL помогает разобрать длинный запрос из журнала перед правкой в редакторе. Сначала выберите исходный диалект: похожие кавычки в разных базах данных могут иметь разный смысл.
Форматтер SQL выделяет соединения и вложенные запросы. Можно форматировать SQL онлайн, настроить отступы SQL или уменьшить внешние пробелы в компактном режиме. Удачное оформление не доказывает, что запрос выполнится.
Форматирование SQL разделяет предложения и выравнивает отступы. Строки, запись чисел и комментарии сверяются с источником. Изменение, при котором нельзя сохранить содержимое, отклоняется вместо скрытой порчи результата.
Режим AST использует отдельный парсер для четырёх диалектов. Oracle доступен для оформления, но без AST. Дерево показывает интерпретацию парсера, а не план выполнения в базе данных.
У MySQL, PostgreSQL, SQLite, SQL Server и Oracle разные правила кавычек. Выбор PostgreSQL не переводит запрос MySQL: он задаёт грамматику для текущей операции.
Оформление облегчает чтение, сжатие уменьшает пробелы, AST выдаёт JSON. Отступы и регистр относятся к тексту SQL. Для дерева действуют более строгие ограничения чисел и сложности.
Автообработка ждёт 350 мс. Отключите её для кнопки или Ctrl/Cmd+Enter. Перенос результата открывает предпросмотр; после применения отмена восстанавливает ввод, настройки и прошлый результат.
sql-formatter предлагает два или четыре пробела, табуляцию и верхний, нижний либо исходный регистр ключевых слов. Настройки сохраняют регистр идентификаторов, функций и типов данных. Регистр меняется только у структурных ключевых слов; контекстные слова вроде ACTION или NO сохраняются для защиты идентификаторов.
Пробелы вне токенов сокращаются без удаления строчных, блочных и исполняемых комментариев. Нужные переводы строк между соседними строковыми литералами PostgreSQL также сохраняются.
node-sql-parser обрабатывает поддерживаемое подмножество MySQL, PostgreSQL, SQLite и Transact-SQL. В JSON попадает только текущее дерево, без истории редактора и прежнего ввода.
Одинаковый диалект и отступы упрощают чтение соединений, условий и подзапросов. Форматирование SQL здесь отделено от дерева. Изменённый запрос следует проверить и в контексте своей базы данных.
Верхний регистр выделяет части запроса, но это соглашение о стиле. Выберите нижний или исходный регистр, если так принято в проекте. Содержимое строк и идентификаторы в кавычках не переводятся в верхний регистр.
Выберите компактный вывод. Он сокращает внешние пробелы и сохраняет комментарии и необходимые переносы после строчных комментариев или между соседними строками PostgreSQL. Ради одной строки содержимое не удаляется.
AST сообщает, принимает ли этот парсер данную грамматику. Он не проверяет таблицы, типы столбцов, права или поведение сервера. Один лишь оформленный результат подтверждает только обработку представления.
Например, команды psql с обратной косой чертой относятся к клиенту, а не обычной грамматике SQL. Сохраните исходный скрипт отдельно и выделите запрос для оформления; эти команды здесь не интерпретируются.
Нашли проблему с оформлением?
Форматирование SQL позволяет сравнить читаемый текст, компактный вариант или поддерживаемое дерево, прежде чем переносить результат в редактор.