Przejdź do treści
TextArray
100% lokalnie

Formater SQL

Sformatuj zapytania SQL — każda klauzula w osobnym wierszu, spójne wcięcia i słowa kluczowe wielkimi literami.

Wejście
Wynik

Formater SQL

Wklej dowolne zapytanie SQL i odbierz je w czytelnej postaci: SELECT, FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY i pozostałe główne klauzule zaczynają się zawsze w osobnym wierszu, warunki AND i OR ciągną się z wcięciem pod nimi, a każda kolumna listy SELECT może dostać własny wiersz. Wcięcie wybierasz sam — dwie spacje, cztery spacje albo tabulatory — i decydujesz, czy słowa kluczowe mają zostać zapisane wielkimi literami: klasyczne SELECT/FROM/WHERE, dzięki któremu struktura zapytania jest widoczna od razu.

Formater opiera się na prawdziwym tokenizerze, a nie na stercie reguł znajdź-i-zamień. Literały tekstowe takie jak 'it''s', identyfikatory w cudzysłowach wszystkich dialektów ("kolumna", `kolumna`, [kolumna]) oraz oba style komentarzy (-- wierszowy i /* blokowy */) przechodzą bajt po bajcie — słowo kluczowe wewnątrz tekstu nigdy nie zostanie zmienione, a cudzysłów w komentarzu niczego nie zepsuje. Zmienia się wyłącznie biała przestrzeń i wielkość liter słów kluczowych; sformatowane zapytanie znaczy dokładnie to samo co wklejone.

Kilka poleceń rozdzielonych średnikami zostaje rozpoznanych i sformatowanych jako osobne bloki, więc narzędzie sprawdza się także przy plikach migracji i skryptach seed, nie tylko przy pojedynczych zapytaniach. Narzędzie jest szczere co do swoich granic: głęboko zagnieżdżone podzapytania zostają w wierszu swojej klauzuli, dzięki czemu wynik pozostaje przewidywalny.

Wszystko działa lokalnie w twojej przeglądarce — zapytania z nazwami tabel czy danymi produkcyjnymi nigdy nie opuszczają twojego komputera. Gotowy wynik skopiuj albo pobierz jako plik .txt.

Częste pytania

Czy formatowanie może zmienić działanie zapytania?
Nie. Zmienia się tylko biała przestrzeń i wielkość liter słów kluczowych. Literały tekstowe, identyfikatory w cudzysłowach, komentarze, liczby i operatory przechodzą dokładnie tak, jak je napisano — sformatowane zapytanie jest semantycznie identyczne z wejściem.
Jak obsługiwane są złożone zagnieżdżone podzapytania?
To formater typu best-effort. Główne klauzule dostają własne wiersze, ale zawartość nawiasów — łącznie z podzapytaniami — zostaje w wierszu swojej klauzuli. Słowa kluczowe w podzapytaniach i tak są zapisywane wielkimi literami. Przy głębokim zagnieżdżeniu wynik jest poprawny, choć nie zawsze idealnie wcięty.
Które słowa kluczowe są zapisywane wielkimi literami?
Klauzule (SELECT, FROM, WHERE, warianty JOIN, GROUP BY, ORDER BY, INSERT INTO, UPDATE, DELETE FROM, CREATE TABLE i inne), operatory logiczne (AND, OR, NOT, IN, LIKE, BETWEEN) oraz popularne typy kolumn. Nazwy funkcji jak count() pozostają bez zmian, a nic wewnątrz tekstów, cudzysłowów czy komentarzy nigdy nie jest ruszane.
Czy mogę sformatować kilka poleceń naraz?
Tak. Polecenia rozdzielone średnikami na najwyższym poziomie są formatowane jako osobne bloki oddzielone pustym wierszem. Średniki wewnątrz literałów tekstowych są poprawnie ignorowane.
Czy moje SQL jest gdzieś wysyłane?
Nie. Narzędzie działa wyłącznie w twojej przeglądarce, a zapytania nigdy nie opuszczają twojego urządzenia — bezpiecznie nawet dla SQL ze schematami produkcyjnymi.