DevToolPal
UK

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

Форматуйте SQL-запити для MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery та інших СУБД.

Працює локально, нічого не завантажується на сервер

Параметри

Вхідні дані

0 симв. · 0 B

Результат

0 симв. · 0 B

Що робить цей інструмент

Форматувальник SQL перетворює довгий однорядковий запит на читабельний із послідовними відступами. Кожна секція (SELECT, FROM, WHERE, GROUP BY, ORDER BY) починається з нового рядка, вибрані стовпці й умови йдуть по одному на рядок, з’єднання (JOIN) вирівнюються під таблицею, до якої приєднуються, а підзапити отримують відступ усередині своїх дужок.

Відформатований SQL легше переглядати в pull request, налагоджувати, коли запит повертає не ті рядки, і вставляти в документацію. Це також допомагає, коли ви копіюєте запит із логу ORM чи повідомлення про помилку застосунку, де все записано в один рядок.

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

  1. Вставте одну чи кілька SQL-інструкцій у поле Вхідні дані, перетягніть на нього файл .sql або натисніть Приклад.
  2. Виберіть Діалект вашої бази даних.
  3. Виберіть для Ключові слова ВЕЛИКІ ЛІТЕРИ, малі літери або залиште як введено. Назви функцій, як-от COUNT, дотримуються того самого налаштування.
  4. Виберіть для Відступ 2 пробіли, 4 пробіли або табуляцію.
  5. Скопіюйте результат або збережіть його як файл .sql. Гарячі клавіші: Ctrl/Cmd+Enter форматує, Ctrl/Cmd+Shift+C копіює.

Кілька інструкцій, розділених крапкою з комою, відокремлюються порожнім рядком. Коментарі лишаються на своїх місцях.

Приклад

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id

перетворюється на

SELECT
  u.id,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
  u.id

Поради

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

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

› Чи надсилається мій SQL на сервер?

Ні. Форматувальник працює у вашому браузері, тож запити, що розкривають назви таблиць, дані клієнтів чи бізнес-логіку, лишаються на вашому пристрої.

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

Стандартний SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift і Spark SQL. Правильно вибраний діалект допомагає з характерним для нього синтаксисом, як-от ідентифікатори у зворотних апострофах, приведення типів через :: чи назви у квадратних дужках.

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

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

› Чому я отримую «Unexpected end of input»?

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