Formatowanie SQL online
Formatuj zapytania SQL dla PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake i innych, z wyborem wielkości liter i wcięć, w przeglądarce.
Jak sformatować zapytanie SQL
- Wklej jedno lub kilka zapytań albo kliknij Otwórz plik, aby wczytać plik
.sql(do 10 MB). - Wybierz Dialekt swojej bazy danych, np. PostgreSQL, MySQL lub SQL Server (T-SQL).
- Zdecyduj, jak zapisywać Słowa kluczowe (WIELKIE LITERY, małe litery lub Bez zmian), i ustaw Wcięcie.
- Zaznacz Bez spacji wokół operatorów, jeśli wolisz
a=b+1zamiasta = b + 1. - Kliknij Formatuj SQL, a potem skopiuj lub pobierz wynik. Zmiana dowolnej opcji formatuje zapytanie ponownie.
Zapytanie jest jedynie przeformatowywane jako tekst. Nigdy nie jest wykonywane ani wysyłane do bazy danych czy na serwer.
Co robi formatter
Narzędzie korzysta z otwartoźródłowej biblioteki sql-formatter. Dzieli każdą instrukcję na klauzule i umieszcza każde słowo kluczowe klauzuli (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) w osobnej linii, a jej zawartość wcina poniżej. Kolumny z listy SELECT trafiają po jednej do linii, warunki AND i OR zaczynają nowe linie, a podzapytania i wyrażenia CASE są wcinane według poziomu zagnieżdżenia. Krótkie wyrażenia w nawiasach zostają w jednej linii. Kilka instrukcji rozdzielonych średnikami oddziela pusta linia.
Zmieniają się wyłącznie białe znaki i wielkość liter. Literały tekstowe, identyfikatory w cudzysłowach i komentarze zostają nietknięte, więc sformatowane zapytanie zwraca ten sam wynik co oryginał – także wtedy, gdy w tekstach są polskie znaki.
Dlaczego dialekt ma znaczenie
Bazy SQL mają wspólny rdzeń języka, ale różnią się szczegółami, a formatter musi je znać, aby poprawnie odczytać zapytanie:
- identyfikatory ujmuje się w
"cudzysłowy"w standardowym SQL i PostgreSQL, w`grawisy`w MySQL, MariaDB i BigQuery, a w[nawiasy kwadratowe]w SQL Server; - operatory takie jak
->>i rzutowanie::w PostgreSQL czy dostęp do ścieżki:w Snowflake istnieją tylko w niektórych dialektach; - znaczniki parametrów są różne:
?,$1,:namelub@name; - każdy dialekt ma własne słowa zastrzeżone i funkcje, na które działa opcja Słowa kluczowe.
Jeśli widzisz komunikat, że nie udało się przeanalizować zapytania, najpierw sprawdź, czy wybrany dialekt odpowiada twojej bazie. Błąd podaje linię i kolumnę, w której analiza się zatrzymała. Standardowy SQL to wybór najbardziej restrykcyjny – jeśli tylko możesz, wybierz swoją faktyczną bazę danych.
Wielkość liter słów kluczowych i dobre praktyki
Wielkie litery w słowach kluczowych to wciąż najpopularniejsza konwencja, bo od razu oddzielają język od nazw tabel i kolumn. Małe litery są popularne w zespołach, którym łatwiej się je czyta, a Bez zmian zostawia twój wybór nietknięty. Nazwy tabel, kolumn i funkcji nigdy nie są zmieniane: opcji podlegają tylko zastrzeżone słowa kluczowe. W długich plikach spójne formatowanie bardzo ułatwia też przeglądanie różnic między wersjami.
Najczęściej zadawane pytania
Jakie dialekty są obsługiwane?
Standardowy SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB i Couchbase N1QL.
Czy narzędzie sprawdza, czy moje zapytanie jest poprawne?
Nie. Sprawdza, czy zapytanie da się odczytać w wybranym dialekcie, ale nie to, czy tabele i kolumny istnieją ani czy zapytanie się wykona. Może to potwierdzić tylko twoja baza danych.
Czy formatuje procedury składowane?
Częściowo. Instrukcje wewnątrz procedur są formatowane, ale bloki proceduralne (BEGIN … END, pętle, DECLARE) są układane prościej niż w specjalistycznym IDE.
Czy moje zapytanie jest wysyłane na serwer?
Nie. Formatowanie działa w twojej przeglądarce, więc zapytania zawierające nazwy tabel czy dane zostają na twoim komputerze.
Dlaczego mój komentarz jest w innym miejscu?
Komentarze są zachowywane, ale komentarz na końcu linii może przesunąć się razem z elementem, za którym stoi, gdy ten element trafi do nowej linii.
Podobne narzędzia
- Formatowanie i walidacja JSON Darmowe narzędzie do formatowania i walidacji JSON: upiększa, minifikuje i sprawdza JSON w przeglądarce, wskazując wiersz i kolumnę błędu.
- Formatowanie i minifikacja JavaScript Sformatuj zminifikowany JavaScript, zminifikuj go Terserem albo sprawdź składnię z dokładnym wierszem i kolumną błędu. Działa tylko w przeglądarce.
- Formatowanie i walidacja XML Formatuj, minifikuj i sprawdzaj poprawność XML w przeglądarce. Błędy są zgłaszane z numerem linii i kolumny. Twoje pliki nigdy nie są przesyłane.