Command Palette

Search for a command to run...

ФО

Форматтер SQL

Форматируйте грязный SQL в читаемые, отступы запросов или минимизируйте SQL в одну строку

Что такое форматтер SQL?

Форматтер SQL превращает плотный, однострочный или непоследовательно написанный SQL в читаемые, удобные для просмотра запросы. Он помещает каждое основное предложение - SELECT, FROM, WHERE, JOINs, GROUP BY, ORDER BY, HAVING, LIMIT, UNION - в свою собственную строку, разбивает столбцы SELECT на отдельные строки, отступы И/ИЛИ условия в соответствии с их предложением и нормализует оболочку ключевых слов до верхнего или нижнего. Результатом является тип макета, который вы хотели бы использовать при проверке кода: 400-символьный запрос из журнала ORM становится структурой, которую вы можете отсканировать на наличие недостающего условия соединения.

В качестве SQL-форматора запросов он принимает строку, как выбрать топ 10 [Идентификатор заказа], всего из dbo.[Подробности заказа] где всего > 100 и статус = 'открыть' и возвращает SELECT TOP 10 в первой строке, [Идентификатор заказа] и всего в своих собственных отступованных строках, затем FROM, затем ГДЕ с отступом И условие под ним.SQL Server пользователи могут относиться к нему как к SQL-форматору для SSMS: отформатируйте T-SQL в этом онлайн-форматоре SQL, затем вставить его обратно в SQL Server Management Studio Это веб-страница, а не расширение SSMS, поэтому установить нечего.

Под капотом это настоящий токенизатор, а не кучка правил поиска и замены. Строковые литералы (включая удвоенные кавычки и обратные слэши), идентификаторы с двойными кавычками и цитируемыми обратными ректальными метками, идентификаторы SQL Server с скобками, числа, операторы и оба стиля комментариев (- Line и /* block */) lexed как атомарные токены до принятия любого решения о макете. Это означает, что значение столбца, например «Выбрать * из пользователей» внутри строки, никогда не принимается за предложение, и форматирование может реструктурировать пробел, не повреждая литературный контент.

Режим Minify делает обратное: он сворачивает отформатированный запрос в одну строку - отбрасывая комментарии, сохраняя каждый буквальный байт для байта - что удобно для просмотра журналов, упаковывая запросы в полезные данные JSON или файлы .env, и сравнивая формы запросов. Все работает на стороне клиента в вашем браузере, поэтому производственные запросы, содержащие имена таблиц, данные клиентов в литералах или сведения о схемах, никогда нигде не загружаются, не регистрируются и не сохраняются.

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

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

  1. Вставьте свой SQL

    Введите любой запрос — однострочный журнал из журнала отладки ORM, рукописный запрос отчета или сценарий с несколькими операторами, разделенный точкой с запятой.

  2. Выбрать ключевое слово и отступ

    Выберите прописные или строчные буквы для ключевых слов и 2, 4 или 8 пробелов отступов, чтобы соответствовать условностям вашей команды.

  3. Нажмите «Формат» или «Минифиц

    Формат производит вывод «Класс-на строки» с выбранными столбцами в своих собственных строках и/или условиях отступа. Minify сворачивает все в одну строку с удаленными комментариями и нетронутыми литературами.

  4. Скопируйте или скачайте

    Скопируйте результат в буфер обмена для файла проверки кода или файла миграции или загрузите его в виде файла .sql.

Основные характеристики

  • На основе токенизатора, литературно-безопасно

    Строковые литералы, цитируемые идентификаторы и комментарии сначала проходят лексес - форматирование никогда не может изменить данные внутри кавычек

  • Разрыв строки с учетом пункта

    Выберите, из, где, соедините варианты, Группируйте, Группу, Упорядочивайте, Имея, Ограничение и Объединение Начните новую строку с подзапросами, отступами которых отступит глубина вложения

  • Нормализация ключевых слов

    Полный список ключевых слов (DML, DDL, функции, типы) преобразуется в верхний или нижний регистр; идентификаторы оставлены точно так же, как написано

  • Один столбец выбора в строке

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

Frequently Asked Questions

да. Токениз понимает синтаксис, который разделяют оба диалекта плюс их различия в кавычках: идентификаторы обратных тикетов и обратные слэши для MySQL, идентификаторы :: приведения и операторы JSON, такие как -> и ->> для PostgreSQL. в скобках [ идентификаторы] из SQL Server тоже обрабатываются. Заявления, которые он не распознают, по-прежнему безопасно отформатированы, потому что неизвестные токены передаются через нетронутые.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

sql formatterformat sqlsql beautifiersql pretty printsql minifierformat sql query onlinesql indentationuppercase sql keywordsmysql formatterpostgresql formattersql query formattersql formatter onlineonline sql formattersql formatter for ssms