Форматер 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?
Ні. Запити форматуються в пам’яті та одразу повертаються. Вони ніколи не зберігаються; реєструється лише розмір запитів.