Перейти к содержанию
TextArray
100% локально

SQL минификатор

Сожмите сценарий SQL, удалив комментарии и лишние пробелы.

Входные данные
Выходные данные

SQL минификатор

Вставьте SQL-скрипт, и этот инструмент удалит комментарии и схлопнет каждый пробел, возвращая наиболее компактную версию, которая еще работает. Типичные задачи: встраивание запроса в виде однострочной строки в код приложения, сравнение написанного от руки оператора с тем, что на самом деле выдает ORM или журнал медленных запросов, сжатие длинного сценария миграции перед его сохранением или сжатие запроса в параметр URL или поле JSON.

Небольшой токенизатор просматривает сценарий посимвольно вместо применения слепого поиска и замены, поэтому строковые литералы и идентификаторы в кавычках никогда не изменяются. Строки в одинарных кавычках с двойными escape-символами, идентификаторами в двойных кавычках и именами обратных кавычек MySQL проходят побайтно, даже если они содержат последовательности -- или /*, которые выглядят только как комментарии. Удаление комментариев охватывает комментарии к строкам и блоки /* */ и может быть отключено. При небольшом интервале дополнительно удаляются пробелы после открывающей скобки, перед закрывающей скобкой и вокруг запятых. Опция макета помещает весь скрипт в одну строку или начинает новую строку после каждой точки с запятой верхнего уровня.

Два честных предела. Это противоположность форматтеру: он не меняет регистр ключевых слов, не меняет отступы и не украшает что-либо — пропустите результат через форматтер, когда вам понадобится читаемый SQL-код. А # комментарии намеренно оставлены нетронутыми, поскольку их удаление приведет к уничтожению имен таблиц #temp в сценариях T-SQL.

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

FAQ

Может ли минификация сломать мой запрос?
Строковые литералы и идентификаторы в кавычках копируются побайтно, комментарии удаляются целиком, а пробелы сжимаются только между токенами, поэтому минимизированный скрипт остается эквивалентным оригиналу. Одно предостережение: некоторые базы данных считывают директивы из комментариев, например подсказки оптимизатора Oracle — отключите удаление комментариев, когда это сделает ваша.
Почему # комментариев не удалены?
Потому что # запускает комментарий только в MySQL. В T-SQL имена временных таблиц имеют префиксы # и ##, и их удаление приведет к повреждению этих сценариев, поэтому инструмент намеренно оставляет # в покое. Перепишите MySQL # комментарии как -- комментарии, если вам нужно их удалить.
Какие диалекты SQL он поддерживает?
Токенизатор понимает кавычки, общие для основных диалектов: строки в одинарных кавычках с escape-символами, идентификаторы в двойных кавычках и обратные кавычки MySQL. Он никогда не анализирует грамматику, поэтому сценарии PostgreSQL, MySQL, SQLite, SQL Server и Oracle работают одинаково.
Может ли он также форматировать или улучшать SQL?
Нет. Минимизация — это противоположное направление: она удаляет структуру, а не добавляет ее. Регистр ключевых слов остается таким же, как написано, и ничего не меняется — используйте форматировщик SQL, если вам нужен читаемый макет.
Мой SQL где-нибудь загружен?
Нет. Все работает локально в вашем браузере. Запросы часто раскрывают схему и бизнес-логику, именно поэтому инструмент никогда не отправляет ваши входные данные на какой-либо сервер.