Форматувальник SQL

Форматуйте безладний SQL у чисті, з відступами й читабельні запити. Для налагодження, код-рев'ю й документації. Працює з MySQL, PostgreSQL та іншими.

Зробіть SQL знову читабельним

SQL, скопійований з логів, ORM, BI-інструментів чи повідомлення колеги, часто приходить одним довгим рядком: select u.id,u.name,count(o.id) from users u left join orders o on o.user_id=u.id where u.active=1 group by u.id order by 3 desc. Форматувальник SQL розбиває його на окремі рядки, ставить кожну частину (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) на своє місце й додає відступи, щоб логіку було легко простежити.

Читабельний SQL легше налагоджувати, переглядати й документувати. Пропущену умову з'єднання чи недоречний WHERE набагато швидше помітити, коли запит правильно розкладено.

Він працює зі стандартним SQL, який використовують MySQL, MariaDB, PostgreSQL, SQLite, SQL Server та інші.

Як користуватися форматувальником SQL

  1. Вставте SQL-запит.
  2. Надішліть, щоб відформатувати.
  3. Прочитайте чи скопіюйте відформатований SQL.

Приклади

Однорядковий запит для звіту

Вхідні дані:

select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id, u.name order by orders desc limit 10

Результат:

select
  u.id,
  u.name,
  count(o.id) as orders
from
  users u
  left join orders o on o.user_id = u.id
where
  u.active = 1
group by
  u.id,
  u.name
order by
  orders desc
limit
  10

Кожна частина отримує власний рядок, а кожен стовпець — відступ. Ключові слова зберігають введений регістр.

Оновлення

Вхідні дані: UPDATE products SET price = price * 1.1 WHERE category_id IN (3, 7);

Результат:

UPDATE
  products
SET
  price = price * 1.1
WHERE
  category_id IN (3, 7);

Типові сценарії

  • Читання запитів з логів застосунку чи налагоджувального виводу ORM.
  • Підготовка SQL до код-рев'ю й pull request.
  • Написання документації й посібників зі зрозумілими прикладами.
  • Налагодження довгих запитів з багатьма з'єднаннями й підзапитами.
  • Упорядкування запитів перед збереженням у BI-інструменті чи ноутбуці.
  • Читання запитів, скопійованих з логів застосунку, де вони часто записані одним рядком.

Поради та корисні нюанси

  • Форматування змінює лише пробіли. Воно не перевіряє SQL і не змінює результатів.
  • Прибирайте з запитів реальні дані клієнтів і паролі, перш ніж вставляти їх будь-де онлайн; персональні дані захищає Закон «Про захист персональних даних».
  • Оберіть єдиний стиль для команди, як-от ключові слова великими літерами й один стовпець у рядку.
  • Змінюйте стиль ідентифікаторів конвертером регістру, а результати JSON форматуйте бьютифікатором JSON.

Особливі випадки й обмеження

  • Ключові слова не переводяться у верхній регістр. Якщо стиль команди передбачає великі літери, вводьте їх так.
  • Кілька інструкцій, розділених крапкою з комою, форматуються одна за одною.
  • Коментарі зберігаються. Рядки й ідентифікатори в лапках, зокрема кириличні значення, не змінюються.

Часті запитання

Чи змінює форматування те, що робить запит?

Ні. Змінюються лише пробіли й розриви рядків, тож запит повертає ті самі результати.

Які діалекти SQL підтримуються?

Добре форматуються стандартні ключові слова SQL, які використовують MySQL, PostgreSQL, SQLite, SQL Server і подібні бази даних.

Чи перевіряє він SQL на помилки?

Ні. Він форматує текст; запустіть запит у базі даних, щоб перевірити помилки.

Чи писати ключові слова SQL великими літерами?

Це не обов'язково, але ключові слова великими літерами — поширена домовленість, що полегшує перегляд запитів.

Схожі інструменти

Поділіться

Популярні безкоштовні інструменти