# Мінімізатор SQL

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

## Поширені запитання

### Що видаляє мінімізатор SQL?

Він видаляє коментарі в рядках і блоках, переноси рядків та відступи, залишаючи один пробіл лише там, де без нього злилися б два слова або оператори. Рядкові літерали та взяті в лапки ідентифікатори залишаються без змін.

### Навіщо вибирати діалект?

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

### Якісь коментарі зберігаються?

Так. Виконувані коментарі MySQL і MariaDB — блокові коментарі, текст яких починається з маркера версії, — а також підказки оптимізатору, як-от /*+ INDEX(t) */, зберігаються, бо вони змінюють виконання оператора. Усі інші коментарі видаляються.

### Що відбувається з рядками GO, / і DELIMITER?

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

### Чи може мінімізація порушити запит?

Мінімізатор видаляє лише пробіли та коментарі поза літералами й зберігає пробіли між символами операторів, тож - -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)
