Co robi to narzędzie
Formatter SQL zamienia długie, jednoliniowe zapytanie w czytelne zapytanie ze spójnymi wcięciami. Każda klauzula (SELECT, FROM, WHERE, GROUP BY, ORDER BY) zaczyna się w nowej linii, wybrane kolumny i warunki są wypisane po jednym na linię, złączenia (JOIN) są wyrównane pod tabelą, do której się odnoszą, a podzapytania mają wcięcie wewnątrz nawiasów.
Sformatowany SQL łatwiej przejrzeć w pull requestach, łatwiej debugować, gdy zapytanie zwraca niewłaściwe wiersze, i łatwiej wkleić do dokumentacji. Pomaga też, gdy kopiujesz zapytanie z logu ORM-a albo z komunikatu błędu aplikacji, gdzie wszystko jest w jednej linii.
Jak używać
- Wklej jedno lub więcej poleceń SQL w polu Wejście, upuść na nie plik
.sqlalbo kliknij Przykład. - Wybierz Dialekt swojej bazy danych.
- Wybierz, czy Słowa kluczowe mają być WIELKIMI LITERAMI, małymi literami, czy bez zmian. Nazwy funkcji, takie jak
COUNT, stosują się do tego samego ustawienia. - Wybierz 2 spacje, 4 spacje lub tabulatory jako Wcięcie.
- Skopiuj wynik lub pobierz go jako plik
.sql. Skróty: Ctrl/Cmd+Enter formatuje, Ctrl/Cmd+Shift+C kopiuje.
Kilka poleceń rozdzielonych średnikami zostaje oddzielonych pustą linią. Komentarze zostają na swoich miejscach.
Przykład
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
zmienia się w
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
Wskazówki
Słowa kluczowe pisane wielkimi literami odróżniają klauzule od nazw tabel i kolumn — to najpopularniejsza konwencja w zespołach. Jeśli twój zespół pisze SQL małymi literami, wybierz małe litery, a całe zapytanie będzie spójne. Jeśli formatter zgłasza nieoczekiwany token, sprawdź, czy dialekt jest właściwy: na przykład nazwy w backtickach są poprawne w MySQL, ale nie w standardowym SQL.
FAQ
› Czy mój SQL jest wysyłany na serwer?
Nie. Formatter działa w twojej przeglądarce, więc zapytania zdradzające nazwy tabel, dane klientów czy logikę biznesową pozostają na twoim urządzeniu.
› Jakie dialekty SQL są obsługiwane?
Standardowy SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift i Spark SQL. Wybór właściwego dialektu pomaga przy składni specyficznej dla danej bazy, takiej jak identyfikatory w backtickach, rzutowania :: czy nazwy w nawiasach kwadratowych.
› Czy formatowanie zmienia działanie zapytania?
Nie. Zmieniają się tylko białe znaki oraz — jeśli tak wybierzesz — wielkość liter słów kluczowych i nazw funkcji. Identyfikatory, literały tekstowe i komentarze pozostają dokładnie takie, jak je zapisano.
› Dlaczego dostaję błąd „Unexpected end of input”?
Zwykle nie został zamknięty nawias lub cudzysłów. Błąd wskazuje koniec zapytania; poszukaj ostatniego otwierającego ( lub ', który nie ma pary.