Перейти к основному содержимому
LibraTool logoLibraTool

Форматтер SQL — бесплатно

Форматируйте SQL-запросы с правильными отступами, настраиваемым регистром ключевых слов и переносами строк на основных предложениях. Работает с любым диалектом SQL.

Работает офлайн после загрузки
Отформатированный SQL
Отформатированный SQL появится здесь…

Частые применения

  • Форматирование SQL для проверки кодаОчистите запросы SQL перед фиксацией, чтобы они были читаемы в обзорах кода.
  • Форматирование SQL для поиска ошибокФорматирование выявляет структурные проблемы, такие как отсутствующие JOIN или неправильно выравненные условия.
  • Форматирование SQL для документацииСделайте примеры SQL в вашей документации, блог-постах или учебниках красивыми и легко читаемыми.
  • Форматирование SQL, созданного ORMORM (Sequelize, Prisma, ActiveRecord) создают однострочный SQL — отформатируйте, чтобы увидеть, что они действительно создали.
  • Форматирование запросов отчетовБольшие аналитические запросы SQL становятся неуправляемыми без форматирования. Отступите их для ясности.

Как это работает

Этот форматтер SQL полностью построен из написанного вручную токенизатора и форматтера — внешняя библиотека не используется. Форматирование и подсветка синтаксиса выполняются мгновенно в браузере по мере ввода, без участия сервера.

  1. 1
    Токенизатор разбивает SQL
    Посимвольный токенизатор проходит по вашему вводу и разбивает его на типизированные токены: строковые литералы (обрабатывая как escape-последовательности с обратной косой чертой, так и стиль SQL с удвоенными кавычками), строчные комментарии (--), блочные комментарии (/* */), операторы, скобки, идентификаторы и числа. Пробелы сворачиваются в единый токен-пробел.
  2. 2
    Составные ключевые слова объединяются
    После токенизации второй проход объединяет соседние токены, образующие многословные ключевые слова — так что 'LEFT', за которым следует 'JOIN', становится единым токеном 'LEFT JOIN', а 'GROUP', за которым следует 'BY', становится 'GROUP BY'. Именно это позволяет форматтеру обрабатывать их как единые единицы компоновки.
  3. 3
    Блочная компоновка или минификация
    В режиме форматирования ключевые слова, начинающие блок (SELECT, FROM, WHERE, JOIN и т.д.), размещаются на своей собственной строке с нулевым отступом, а всё, что следует, индентируется. AND/OR принудительно создают новую индентированную строку. Запятые на верхнем уровне скобок также сбрасываются на новую строку. В режиме минификации все переводы строк и избыточные пробелы сворачиваются в последовательность, разделённую единым пробелом.
  4. 4
    Подсветка синтаксиса через регулярное выражение
    Отформатированный вывод проходит через единое регулярное выражение, которое сопоставляет комментарии, строковые литералы, числа и идентификаторы за один проход. Каждое совпадение оборачивается в span React с классом цвета — комментарии приглушённым курсивом, строки янтарным, числа фиолетовым, и ключевые слова SQL (проверенные по полному набору ключевых слов) бирюзовым — производя цветную выходную панель.

Похожие инструменты

Часто задаваемые вопросы