# Минификатор SQL

Минифицируйте SQL, удаляя комментарии, переносы строк и все ненужные пробелы, сохраняя строковые литералы, идентификаторы в кавычках и операторы без изменений. Выберите диалект, например MySQL, PostgreSQL, T-SQL или BigQuery, чтобы правила кавычек, комментариев и пакетной обработки соответствовали вашей базе данных. Минификатор сообщает о незакрытых строках, комментариях и скобках с указанием строки и столбца — это удобно разработчикам, встраивающим запросы в код.

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

### Что удаляет минификатор SQL?

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

### Зачем выбирать диалект?

В базах данных используются разные правила для кавычек и комментариев. MySQL считает # началом комментария, а обратную косую черту — символом экранирования; PostgreSQL поддерживает строки в долларах, T-SQL использует [квадратные скобки] и пакеты GO, а BigQuery — строки в тройных кавычках. Диалект гарантирует, что содержимое литералов не изменится.

### Какие-нибудь комментарии сохраняются?

Да. Сохраняются исполняемые комментарии MySQL и MariaDB, блочные комментарии, текст которых начинается с маркера версии, а также подсказки оптимизатору, например /*+ INDEX(t) */ — они влияют на выполнение оператора. Все остальные комментарии удаляются.

### Что происходит со строками GO, / и DELIMITER?

Разделители пакетов, например GO в T-SQL, строка / в скриптах Oracle и команды DELIMITER MySQL остаются на отдельных строках. Клиентские инструменты распознают их только там, поэтому объединение с другим кодом нарушило бы работу скрипта.

### Может ли минификация нарушить работу запроса?

Минификатор удаляет только пробелы и комментарии вне литералов и сохраняет пробелы между символами операторов, поэтому - -1 не превратится в комментарий. Запрос будет выполняться так же, как и раньше.

### Какие ошибки обнаруживаются?

О незакрытых строковых литералах, идентификаторах в кавычках, блочных комментариях и строках в долларах, а также о несбалансированных скобках сообщается с указанием строки и столбца. Полная грамматика SQL не проверяется.

### Какие диалекты доступны?

Standard SQL, MySQL, MariaDB, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino и Db2. В Standard SQL, используемом по умолчанию, строки заключаются в одинарные кавычки без экранирования обратной косой чертой; двойные кавычки, обратные кавычки и квадратные скобки допустимы для идентификаторов.

### Меняется ли регистр ключевых слов?

Нет. Регистр ключевых слов, идентификаторов и функций сохраняется. Удаляются только пробелы и комментарии.

### Каков максимальный размер входных данных?

До 1 MB SQL на запрос. Длинные скрипты миграции с большим количеством операторов минифицируются за один проход.

### Сохраняется ли мой SQL?

Нет. Запросы обрабатываются в памяти и сразу возвращаются. Они никогда не сохраняются; в журнал записывается только размер запроса.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
