SQL Formatter

Форматування чи мінімізація SQL для PostgreSQL, MySQL і SQL Server, підстановка параметрів і вставлення в код — просто в браузері.

Про SQL Formatter

Що це

Цей інструмент робить SQL читабельним: кожна секція з нового рядка, вкладені запити з відступом, ключові слова в обраному регістрі й коми перед чи після колонок. Він знає синтаксис стандартного SQL, PostgreSQL, MySQL і SQL Server. Також може підставити справжні значення в параметри $1 чи ? із логу запитів і обгорнути результат рядком для JavaScript, Python, Java/C# чи JSON.

Основні можливості

  • Форматування або мінімізація запиту.
  • Діалекти: стандартний SQL, PostgreSQL, MySQL і SQL Server.
  • Регістр ключових слів — як є, ВЕЛИКІ чи малі — і коми на початку чи в кінці.
  • Bind Variables: $1, $2… чи ?, заповнені з JSON-масиву чи об'єкта.
  • Запит як готовий рядок для JS/TS, Python, Java/C# чи JSON.

Як користуватися

  1. Вставте запит, перетягніть файл .sql на редактор або натисніть «Вставити приклад».
  2. Оберіть форматування чи мінімізацію, діалект, регістр ключових слів і позицію коми.
  3. Якщо запит має параметри, введіть їхні значення як JSON.
  4. Скопіюйте результат чи фрагмент коду.

Коли корисно

  • Прочитати довгий запит із логу ORM.
  • Упорядкувати SQL перед code review чи міграцією.
  • Виконати запит із логу з його справжніми значеннями параметрів.

Конфіденційність та обмеження

Ваші дані

Ваш SQL форматується в браузері й не надсилається ні на сервер, ні в базу даних — сайт отримує лише анонімну подію «інструмент відкрито», без вмісту. Результат, надісланий в інший інструмент, зберігається на цьому пристрої 24 години в «Останніх діях».

Обмеження

  • Інструмент лише форматує; він не виконує запит і не перевіряє його на базі даних.
  • Специфічний синтаксис поза чотирма діалектами може форматуватися менш точно.

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

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

Діалекти відрізняються лапками, операторами й ключовими словами — наприклад, приведення :: у PostgreSQL чи зворотні лапки в MySQL. З правильним діалектом вони лишаються цілими й правильно розставленими.

Навіщо Bind Variables?

Логи часто показують запит із $1 чи ? і значення окремо. Введіть значення як JSON-масив (чи об'єкт для іменованих), і інструмент підставить їх у запит, щоб його можна було виконати як є.

Що дає фрагмент коду?

Відформатований запит як готовий рядковий літерал для вашої мови, з екранованими переносами й лапками, щоб вставити просто в код.