# Форматер MySQL

Форматуйте запити та скрипти MySQL за правилами MySQL для ідентифікаторів у зворотних апострофах, екранування зворотною скісною рискою в рядках, коментарів # і блоків DELIMITER. Кожен розділ починається з нового рядка, стовпці та умови мають відступи, а розділи MySQL, як-от ON DUPLICATE KEY UPDATE, залишаються разом. Незакриті рядки, коментарі та дужки зазначаються разом із номером рядка та стовпця — це допомагає розробникам читати й перевіряти код баз даних.

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

### Який синтаксис MySQL розуміє форматер?

Він розпізнає ідентифікатори у зворотних апострофах; рядки в одинарних і подвійних лапках зі зворотними скісними рисками для екранування та подвоєними лапками; шістнадцяткові, бітові й національні літерали, як-от X'FF', B'101' і N'text'; позначення набору символів, як-от _utf8mb4'text'; а також змінні @user. Усе всередині літерала залишається без змін.

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

Коментарі з решіткою (#) і коментарі з подвійним дефісом (--) залишаються на місці. Як і в MySQL, подвійний дефіс починає коментар, лише якщо за ним іде пробіл або розрив рядка, тож a--1 залишається виразом. Виконувані коментарі версій зберігаються без змін.

### Як форматуються запити?

Основні розділи, як-от SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY і LIMIT, починаються з нового рядка, а їхній вміст має відступ. Вибрані стовпці розміщуються по одному в рядку, AND та OR починають нові рядки, а кожне об’єднання має окремий рядок.

### Чи підтримуються спеціальні розділи MySQL?

Так. ON DUPLICATE KEY UPDATE, LOCK IN SHARE MODE, FOR UPDATE та FOR SHARE залишаються разом як один розділ, а не розбиваються на кілька рядків.

### Чи можна форматувати збережені процедури й тригери?

Так. Команди DELIMITER залишаються на окремих рядках, власний роздільник, як-от // або $$, завершує оператор, а блоки BEGIN і END з IF, WHILE та LOOP отримують відступи.

### Чи змінюється регістр ключових слів?

Ні. Регістр ключових слів, назв функцій та ідентифікаторів зберігається таким, яким ви його ввели: select і SELECT залишаються без змін. Змінюються лише пробіли та переноси рядків.

### Чи перевіряє форматер коректність мого запиту?

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

### Чи можна змінити відступи?

Так. Виберіть 2 або 4 пробіли чи табуляцію для кожного рівня. Короткі списки в дужках залишаються в одному рядку, а довші списки й підзапити оформлюються як блоки з відступом.

### Який максимальний розмір вхідних даних?

До 1 MB SQL за запит і до 128 KB в одному операторі. Скрипти з багатьма операторами форматуються окремо для кожного оператора й розділяються порожніми рядками.

### Чи зберігається мій 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)
