SQL-форматтер и минификатор – Полная документация, лучшие практики и интеграции

Avatar
Manuel Schulz · 18.10.2025 · Разработка · 20–25 мин

Zerlo SQL-Formatter & Minifier делает SQL мгновенно читаемым (Beautify) или компактным (Minify). Вы управляете Indent (2/4/8 пробелов), Keyword-Case (UPPER/lower/Preserve) и в разделе Advanced удаление комментариев, а также принудительное добавление точки с запятой. Через Быстрый доступ доступны примеры сниппетов, и с помощью Self-Test вы проверяете поведение за секунды. Страница доступна здесь: zerlo.net/formattersql.

Содержание

  1. Быстрый старт
  2. Функции обзора
  3. Примеры быстрого доступа (случаи использования)
  4. Расширенные параметры (детали и подводные камни)
  5. Типичные категории применений (12 сценариев)
  6. Интеграция: веб-сайт, iFrame, Teams
  7. Опциональное JSON-API (с примерами)
  8. Самопроверка (пошагово)
  9. Профессиональные советы, производительность и безопасность
  10. Указания по диалектам и ограничения
  11. Устранение неполадок и FAQ
  12. Попробовать сейчас

1) Быстрый старт

  1. Откройте zerlo.net/formattersql.
  2. Вставь слева свой SQL или набери его.
  3. Выберите режим Режим: Улучшение читаемости (читабельно) или Минификация (компактно).
  4. Установите Отступ (2/4/8) и Регистр ключевых слов (UPPER/lower/Preserve) включить..
  5. Необязательное: Удаление комментариев, Принудительно ставить точку с запятой.
  6. Нажмите Форматировать – – результат появляется справа, включая Копировать и Сохранить как .sql.
  7. Под Самопроверка ты можешь автоматически проверить основные правила..

2) Функции обзора

3) Примеры быстрого доступа (случаи использования)

Эти примеры охватывают наиболее распространённые шаблоны и идеальны в качестве отправной точки.

1_einfaches_select.sql
SELECT id, name FROM products WHERE status = 'active';
2_join_mit_aggregat.sql
SELECT c.id, c.title, COUNT(p.id) AS products
FROM categories c
LEFT JOIN products p ON p.category_id = c.id
GROUP BY c.id, c.title
ORDER BY products DESC;
3_case_plus_subquery.sql
SELECT u.id, u.email,
  CASE
WHEN o.total >= 1000 THEN 'gold'
WHEN o.total >= 200  THEN 'silver'
ELSE 'bronze'
  END AS tier
FROM users u
LEFT JOIN LATERAL (
  SELECT SUM(total) AS total
  FROM orders
  WHERE user_id = u.id
) o ON TRUE;
4_cte_plus_window.sql
WITH ranked AS (
  SELECT id, customer_id, total,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY total DESC) AS rn
  FROM orders
)
SELECT * FROM ranked WHERE rn = 1;
5_insert_returning.sql
INSERT INTO users(email, role)
VALUES ('[email protected]', 'editor')
RETURNING id, email;
6_update_mit_case.sql
UPDATE accounts
SET status = CASE
  WHEN balance < 0 THEN 'overdue'
  WHEN balance = 0 THEN 'zero'
  ELSE 'ok'
END
WHERE active = 1;
7_delete_plus_exists.sql
DELETE FROM sessions s
WHERE EXISTS (
  SELECT 1 FROM users u
  WHERE u.id = s.user_id AND u.deleted_at IS NOT NULL
);

4) Расширенные параметры (детали и подводные камни)

5) Типичные категории применения (12 сценариев)

  1. Code-ревью:: Единообразный макет ускоряет обзоры и предотвращает споры по стилю.
  2. Отладка:: Сложные JOIN/CASE сразу становятся наглядными.
  3. Обмен знаниями:: Читабимый SQL для Wiki/Confluence/README.
  4. Миграции и скрипты:: Безопасность точек с запятой, чёткие блоки.
  5. Встраивание API:: Minify + удаление комментариев, чтобы встраивать SQL в приложения/сервисы.
  6. BI/Отчёты:: Очистка запросов из BI-инструментов перед их распространением.
  7. Обучение и образование:: CTEs/окна функций структурировано показывать.
  8. Рефакторинг:: Сначала Beautify, затем изолировать и оптимизировать части..
  9. Воспроизведение ошибок:: Чётко структурированные запросы для тикетов поддержки.
  10. Контроль соблюдения руководств по стилю:: Команда последовательно применяет стандарт (Indent/Case).
  11. Шаблоны:: „Быстрый доступ“ как база для новых запросов.
  12. Подготовка релиза:: Minify для стабильных, переносимых артефактов..

6) Интеграция в Website/Teams

A) Прямое использование

Ссылка на инструмент: zerlo.net/formattersql

B) Встраивание iFrame (Intranet/Backoffice)

embed_iframe.html
<iframe src="https://zerlo.net/formattersql" title="SQL Formatter" width="100%" height="900" style="border:0; border-radius:12px;"></iframe>

C) Руководство по стилю команды (база)

7) Опциональное JSON-API

Вы можете автоматизировать форматирование в инструментах/CI/CD. Простой пример:

api_request.http
POST https://zerlo.net/formattersql?api=1
Content-Type: application/json

{
  "sql": "select id,name from users where id=1",
  "mode": "beautify",
  "options": { "indent": 4, "keywordCase": "upper", "stripComments": false, "ensureSemicolon": true }
}
api_response.json
{
  "ok": true,
  "result": "SELECT id, name\nFROM users\nWHERE id = 1;",
  "stats": { "ms": 4, "inLen": 43, "outLen": 47 }
}
api_node.js
// Node.js (fetch)
const res = await fetch("https://zerlo.net/formattersql?api=1", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
sql: "SELECT * FROM orders WHERE created_at >= NOW() - INTERVAL '7 days';",
mode: "beautify",
options: { indent: 2, keywordCase: "upper", stripComments: true, ensureSemicolon: true }
  })
});
const data = await res.json();
console.log(data.result);
api_php.php
<?php
// PHP
$payload = [
  "sql" => "SELECT COUNT(*) FROM products;",
  "mode" => "minify",
  "options" => [ "indent" => 2, "keywordCase" => "preserve", "stripComments" => true, "ensureSemicolon" => true ]
];
$ch = curl_init("https://zerlo.net/formattersql?api=1");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode($payload),
  CURLOPT_RETURNTRANSFER => true
]);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;

8) Самопроверка (пошагово)

  1. Нажмите в инструменте ниже на Самопроверка – – автоматически проверяются три базовых случая..
  2. Сценарий Beautify:: Keywords UPPER, Ключевые слова UPPER, чёткие разрывы, чистый отступ.
  3. Сценарий Minify:: Комментарии удалены (если опция активна), компактный вывод.
  4. Сценарий отступов:: Видимый переход между 2/4/8 пробелами..
  5. Результат появляется в панели самопроверки; при отклонениях: проверить параметры и при необходимости сменить режим.

9) Профессиональные советы, производительность и безопасность

10) Указания по диалектам и ограничения

11) Устранение неполадок и FAQ

„Ничего не изменилось?“ – Проверьте режим и параметры; ввод не должен быть пустым.

„Двойная точка с запятой?“ – Опция «принудить» + существующий ;: отключить опцию.

„Комментарии не были удалены“ – Включите удаление комментариев или установите режим на «Minify».

„Очень длинные запросы тормозят в браузере“ – Форматируйте крупные блоки по очереди или используйте API.

„Ключевые слова в строках изменились?“ – Не должно происходить; проверьте, действительно ли это строки (кавычки, не обратные кавычки).

12) Теперь попробовать

Начните здесь: zerlo.net/formattersql

Помогло ли руководство? Поделитесь им: