Przejdź do treści
HNarzędzia
pl
Kategorie

Formatowanie SQL online - formatter i minifikator zapytań

Wklej zapytanie SQL, a narzędzie od razu ułoży je czytelnie - z wcięciami, słowami kluczowymi wielkimi literami i każdą klauzulą w nowej linii - albo zminifikuje do jednej linii. Działa dla kilkunastu dialektów.

  • Za darmo
  • Bez rejestracji
  • Prywatne
  • Działa lokalnie

Jak sformatować zapytanie SQL?

  1. 1.

    Wklej zapytanie

    Wklej SQL w lewe pole, otwórz plik .sql lub wstaw przykład.

  2. 2.

    Wybierz dialekt

    Ustaw bazę danych (np. PostgreSQL, MySQL, SQL Server), żeby parser poprawnie rozpoznał składnię specyficzną dla niej.

  3. 3.

    Dobierz styl

    Wybierz wielkość liter słów kluczowych (WIELKIE, małe, bez zmian) i wcięcie: 2 spacje, 4 spacje lub tabulator.

  4. 4.

    Skopiuj wynik

    Sformatowane zapytanie pojawia się od razu po prawej - skopiuj je lub pobierz jako plik .sql.

Jak wygląda dobrze sformatowany SQL?

Czytelne zapytanie ma każdą główną klauzulę w nowej linii (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY), kolumny i warunki wcięte o stałą liczbę spacji, a słowa kluczowe pisane jednolicie - najczęściej wielkimi literami. Przykład:

select id,name from users where active=1 and city='Kraków' order by name

po sformatowaniu:

SELECT
  id,
  name
FROM
  users
WHERE
  active = 1
  AND city = 'Kraków'
ORDER BY
  name

Formatowanie nie zmienia działania zapytania - zmienia tylko białe znaki i wielkość liter słów kluczowych. Teksty w apostrofach i nazwy w cudzysłowach pozostają nietknięte.

Obsługiwane dialekty SQL

Baza danychPrzykładowa składnia rozpoznawana tylko w tym dialekcie
PostgreSQL$$…$$, ::int, RETURNING, ILIKE
MySQL / MariaDB`nazwa`, komentarz #, LIMIT 10, 20
SQL Server (T-SQL)[Order Details], TOP 10, GO
Oracle (PL/SQL)CONNECT BY, :zmienna, bloki BEGIN … END;
SQLite, BigQuery, Snowflake, Redshift, Db2, DuckDB, ClickHouse, Trino, Spark, Hivewłasne funkcje i typy danych

Tryb Standard SQL obsługuje składnię ANSI. Jeśli zapytanie zawiera konstrukcje konkretnej bazy, a formatowanie zgłasza błąd, wybierz właściwy dialekt.

Minifikacja SQL - kiedy się przydaje?

Minifikacja zapisuje zapytanie w jednej linii bez zbędnych spacji - przydaje się przy wklejaniu SQL do kodu jako tekstu, do plików konfiguracyjnych, logów lub parametrów w narzędziach CI. Narzędzie:

  • zamienia wszystkie ciągi białych znaków na jedną spację i usuwa spacje przy , ( ) ;,
  • nie zmienia zawartości tekstów w apostrofach, identyfikatorów w cudzysłowach, bloków $$…$$ ani [nazw] z T-SQL,
  • usuwa komentarze albo - gdy wyłączysz tę opcję - zamienia komentarze -- na /* … */, żeby nie „zakomentowały” reszty zapytania w jednej linii,
  • zawsze zostawia wskazówki optymalizatora /*+ … */ (Oracle, MySQL) i /*! … */ (MySQL).

Najczęstsze przyczyny błędu formatowania

  • Niezamknięty apostrof - np. WHERE name = 'O'Brien'. Apostrof w tekście zapisuje się podwójnie: 'O''Brien'.
  • Składnia innej bazy - [kolumna] działa w SQL Server, a `kolumna` w MySQL; w trybie Standard SQL mogą zostać odrzucone.
  • Zmienne szablonów - wstawki typu {{ var }} czy ${id} nie są SQL-em; zastąp je na czas formatowania np. wartością 1.
  • Niekompletny fragment - samo AND x = 1 bez początku zapytania bywa nierozpoznawalne.

Przy błędzie narzędzie podaje numer linii i kolumny oraz pokazuje fragment kodu ze znacznikiem ^. Do formatowania danych zwracanych przez API użyj formatera JSON.

Najczęściej zadawane pytania

Czy moje zapytania SQL są wysyłane na serwer?

+
Nie. Formatowanie i minifikacja działają w całości w przeglądarce, więc możesz bezpiecznie wklejać zapytania z nazwami tabel i danymi produkcyjnymi.

Czy formatowanie zmienia działanie zapytania?

+
Nie. Zmieniają się tylko białe znaki i wielkość liter słów kluczowych, funkcji i typów danych. Teksty w apostrofach i nazwy w cudzysłowach pozostają bez zmian.

Słowa kluczowe SQL pisać wielkimi czy małymi literami?

+
SQL nie rozróżnia wielkości liter w słowach kluczowych, więc to kwestia konwencji. Wielkie litery (SELECT, FROM) są najpopularniejsze, bo odróżniają składnię od nazw tabel i kolumn.

Jaki dialekt wybrać dla SQL Server?

+
Wybierz „SQL Server (T-SQL)”. Rozpoznaje on m.in. nazwy w nawiasach kwadratowych, TOP, zmienne @nazwa i separator GO.

Dlaczego dostaję błąd, choć zapytanie działa w bazie?

+
Najczęściej wybrany jest zbyt ogólny dialekt. Ustaw dokładnie tę bazę, w której uruchamiasz zapytanie. Błąd pojawia się też przy wstawkach szablonów, np. {{ zmienna }}.

Czy można sformatować kilka zapytań naraz?

+
Tak. Wklej je oddzielone średnikami - każde zostanie sformatowane osobno, z pustą linią pomiędzy.

Aktualizacja: