Formater zapytań SQL
Darmowy formatator SQL online. Wklejasz surowe zapytanie, wybierasz wcięcia i wielkość słów kluczowych – i w ułamku sekundy dostajesz czytelny, schludny kod SQL gotowy do użycia.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Wiersze wyniku
linie zapytania po sformatowaniu
Słowa kluczowe
rozpoznane z listy słów kluczowych silnika
Wielkość słów kluczowych
ustawienie z formularza
Klauzule
rozpoznane klauzule — przy opcji łamania każdy zaczyna nowy wiersz
Znaki (wejście → wynik)
SELECT
u .id,
u .email,
count (
o .id
) AS orders
FROM
users u LEFT
JOIN
orders o
ON
o .user_id = u .id
WHERE
u .status = 'active' AND (
o .created_at >= '2025-01-01' OR o .created_at IS NULL
) GROUP BY u .id,
u .email ORDER BY orders DESC,
u .email ASC;
| Element | Zasada z kodu silnika |
|---|---|
| Słowa kluczowe | pełna lista silnika: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, INSERT, INTO, VALUES, UPDATE, SET, DELETE, INNER/LEFT/RIGHT/FULL/CROSS JOIN, UNION ALL, ON, AND, OR, NOT, IN, EXISTS, BETWEEN, LIKE, IS NULL, CASE WHEN THEN ELSE END, ASC, DESC, DISTINCT, AS, WITH, OVER, PARTITION i inne — wypisywane WIELKIMI literami (do wyboru małe albo zachowanie oryginału) |
| Klauzule na nowych wierszach | opcja łamania zaczyna nowy wiersz przed SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, INSERT, INTO, VALUES, UPDATE, SET, DELETE, UNION i wszystkimi wariantami JOIN; treść po SELECT, SET i VALUES dostaje dodatkowe wcięcie |
| Przecinki i średniki | opcja nowego wiersza po przecinku ustawia kolejne kolumny i wartości jeden pod drugim; średnik kończy polecenie i oddziela je od następnego podwójnym przejściem do nowej linii |
| Wcięcie | 2 spacje, 4 spacje albo 8 (tabulator); poziom zwiększa się w nawiasach ( ) i po klauzulach SELECT, SET oraz VALUES |
| Komentarze | opcja zachowaj komentarze utrzymuje liniowe -- i blokowe /* */ na osobnych wierszach, bez mieszania z kodem |
| Literały bez zmian | napisy w apostrofach, identyfikatory w znakach odwróconego apostrofu i liczby przechodzą nietknięte — formatowane jest tylko otoczenie |
SELECT * FROM users WHERE id = 1;
Na marginesie: formatowanie nie zmienia działania zapytania, ale ułatwia wypatrzeć niebezpiecznej konstrukcji. Jeśli zapytanie powstaje przez sklejanie tekstu z danymi użytkownika (np. WHERE id = wartość_od_klienta), jest podatne na SQL injection — dane przekazuj przez parametryzowane zapytania (prepared statements: PDO::prepare, Eloquent, Query Builder), a nie przez konkatenację stringów.
Warto wiedzieć — formatowanie zapytań SQL
Wielkie litery to konwencja
Słowa kluczowe pisane WIELKIMI literami nie zmieniają działania zapytania — SQL jest dla nich niemal zawsze niewrażliwy na wielkość znaków. To umowa między ludźmi: SELECT i FROM rzucają się w oczy, łatwiej odróżnić klauzule od nazw tabel i kolumn podczas czytania i code review.
Formatowanie a wydajność bazy
Białe znaki i podział na wiersze nie wpływają na plan wykonania zapytania — optymalizator widzi tę samą strukturę. Formatowanie zmienia wyłącznie czytelność: szybciej znajdziesz brakujący warunek JOIN, zapomniane WHERE albo zdublowaną klauzulę, zanim zapytanie trafi na produkcję.
Kiedy formatować zapytania
Przy wklejaniu logów z wolnych zapytań do analizy, przed wrzuceniem migracji do repozytorium, w dokumentacji i raportach oraz przy zgłaszaniu problemu na forum — sformatowane zapytanie czyta się w sekundy, a jednolinijkowiec z 10 złączeniami potrafi zająć koledze pół godziny.
Prepared statements zawsze
SQL injection to wciąż jeden z najczęstszych ataków na aplikacje webowe. Parametryzowane zapytania rozdzielają kod SQL od danych, więc wklejony przez klienta ciąg nie stanie się częścią polecenia. Formatowanie zapytań ułatwia to auditować — ale podstawą jest warstwa danych budująca zapytania bezpiecznie.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćFormatator zapytań SQL online
Formatowanie SQL poprawia czytelność zapytań, ułatwia code review i przyspiesza debugowanie. Nasz formatator SQL online dostosowuje wcięcia, łamanie wierszy i wielkość słów kluczowych jednym kliknięciem – bez instalacji, bez rejestracji.
Do czego służy formatator SQL?
Długie, nieformatowane zapytania SQL trudno się czyta – zwłaszcza gdy zawierają wiele JOINów, podzapytań lub klauzul WHERE z dziesiątkami warunków. Formatator SQL przebudowuje je do czytelnej postaci: każda klauzula (SELECT, FROM, WHERE, GROUP BY, ORDER BY) zaczyna się od nowego wiersza, kolumny są wyrównane wcięciami, a słowa kluczowe mają spójną wielkość liter. To niezbędne narzędzie podczas code review, dokumentowania bazy danych czy analizowania zapytań przekazanych przez inny zespół.
Jak używać formatera SQL?
Wklej surowe zapytanie SQL w pole „Zapytanie SQL". Następnie wybierz rozmiar wcięcia (2, 4 lub 8 spacji), styl słów kluczowych (WIELKIE LITERY / małe litery / zachowaj oryginał) oraz opcje łamania wierszy przy klauzulach i przecinkach. Kliknij „Formatuj SQL" – w prawej kolumnie pojawi się sformatowany kod z podświetleniem w edytorze-like widoku, który możesz od razu skopiować przyciskiem „Kopiuj SQL". Statystyki pod kodem pokazują liczbę znaków i wierszy przed i po formatowaniu.
Wcięcia i łamanie wierszy
Dobre wcięcia to podstawa czytelnego SQL. Konwencja 2 spacji jest popularna w projektach front-endowych, 4 spacje – w backendowych i hurtowniach danych, tabulator – w środowiskach, gdzie wyrównanie kolumn jest ważniejsze niż spójność z resztą kodu. Formatator SQL obsługuje każdy wariant. Opcja „Nowe wiersze przy klauzulach" sprawia, że SELECT, FROM, WHERE i inne główne klauzule zawsze zaczynają się od nowej linii – dzięki temu zapytanie wygląda jak ustrukturyzowany dokument, a nie ciąg znaków w jednej linii.
Wielkość słów kluczowych
Konwencja pisania słów kluczowych SQL WIELKIMI LITERAMI (SELECT, FROM, WHERE) jest najstarsza i nadal dominuje w dokumentacji i książkach. Część zespołów preferuje jednak małe litery jako mniej „krzykliwe". Formatator pozwala wybrać dowolny styl – UPPERCASE, lowercase lub zachowanie oryginału – i konsekwentnie stosuje go do wszystkich słów kluczowych w zapytaniu, włącznie z JOINami, operatorami (AND, OR, NOT) i funkcjami agregującymi.
Najczęstsze pytania
Czy formatator SQL obsługuje podqueries i CTE?
Tak. Formatator rozpoznaje nawiasy i odpowiednio zwiększa poziom wcięcia wewnątrz podkwerend (subquery). Wyrażenia WITH (CTE) są traktowane jak normalne zapytania – możesz wkleić cały blok WITH ... AS (...) SELECT ... i zostanie on sformatowany jako całość.
Czy moje zapytania SQL są gdzieś zapisywane?
Nie. Przetwarzanie odbywa się po stronie serwera tylko na czas formatowania i nie jest nigdzie przechowywane. Żaden fragment Twojego zapytania nie trafia do zewnętrznych serwisów.
Jaki jest limit długości zapytania?
Aktualny limit to 5 000 znaków, co wystarczy dla zdecydowanej większości realnych zapytań. Jeśli potrzebujesz sformatować bardzo duży skrypt SQL, podziel go na mniejsze fragmenty.
Czy formatator obsługuje MySQL, PostgreSQL i inne dialekty?
Formatator działa na poziomie składni ogólnego SQL i obsługuje większość konstrukcji wspólnych dla MySQL, PostgreSQL, SQLite i SQL Server: JOINy, podzapytania, funkcje okienkowe (OVER / PARTITION BY), komentarze (-- oraz /* */), literały łańcuchowe i backtick-identifiers.
Do czego służy opcja „Zachowaj komentarze"?
Komentarze SQL (-- jednolinijkowe i /* blokowe */) często zawierają istotne wyjaśnienia logiki biznesowej. Gdy opcja jest aktywna, komentarze zostają w sformatowanym wyniku na właściwym miejscu. Wyłącz ją, jeśli chcesz uzyskać „czysty" kod SQL bez komentarzy.