Перейти до вмісту
TextArray
100% локально

Мініфікатор SQL

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

Введення
Вихід

Мініфікатор SQL

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

Невеликий токенізер проходить сценарій символ за символом замість застосування сліпого пошуку та заміни, тому рядкові літерали та ідентифікатори в лапках ніколи не змінюються. Рядки в одинарних лапках із подвійними екранами '', ідентифікаторами в подвійних лапках і іменами зворотних позначок MySQL передаються байт за байтом, навіть якщо вони містять -- або /* послідовності, які виглядають лише як коментарі. Видалення коментарів покриває -- коментарі рядків і /* */ блокує, і їх можна вимкнути. Короткий інтервал додатково видаляє пробіли після відкриваючої дужки, перед закриваючою та навколо ком. Параметр макета розміщує весь сценарій в одному рядку або починає новий рядок після кожної крапки з комою верхнього рівня.

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

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

FAQ

Чи може мінімізація порушити мій запит?
Рядкові літерали та ідентифікатори в лапках копіюються байт за байтом, коментарі видаляються цілком, а пробіли згортаються лише між токенами, тому мінімізований сценарій залишається еквівалентним оригіналу. Одне застереження: деякі бази даних читають директиви з коментарів, як-от підказки оптимізатора Oracle — вимкніть видалення коментарів, коли ваша це робить.
Чому # коментарі не видаляються?
Оскільки # починає коментар лише в MySQL. У T-SQL префікси # і ## містять тимчасові імена таблиць, і їх видалення пошкодило б ці сценарії, тому інструмент навмисно залишає # у спокої. Перепишіть # коментарі MySQL як -- коментарі, якщо їх потрібно видалити.
Які діалекти SQL він підтримує?
Токенізатор розуміє лапки, спільні для основних діалектів: рядки в одинарних лапках із екрануванням '', ідентифікатори в подвійних лапках і зворотні позначки MySQL. Він ніколи не аналізує граматику, тому сценарії PostgreSQL, MySQL, SQLite, SQL Server і Oracle працюють однаково.
Чи може він також відформатувати або прикрасити SQL?
Ні. Зменшення — це протилежний напрямок: воно видаляє структуру, а не додає її. Регістр ключових слів залишається таким, як він був написаний, і нічого не змінюється — скористайтеся програмою форматування SQL, коли вам потрібен доступний для читання макет.
Чи завантажено кудись мій SQL?
Ні. Усе працює локально у вашому браузері. Запити часто розкривають схему та бізнес-логіку, саме тому інструмент ніколи не надсилає ваші дані на будь-який сервер.