Formater SQL Online
Formatuj zapytania SQL z prawidlowym wcieciem i slowami kluczowymi pisanymi wielkimi literami.
.pdf · do 2 GB
Po co tego uzywac
Czytelny SQL, bardziej produktywne zespoly
Automatyczne wciecie
Kazda klauzula we wlasnej linii, podzapytania z dodatkowym zagniezdzetiem. Natychmiastowa czytelnosc.
Prywatnosc
SQL jest przetwarzany w Twojej przegladarce. Nigdy nie jest wysylany na zadne serwery.
Wiele dialektow
MySQL, PostgreSQL, SQL Server, SQLite i inne. Formatowanie specyficzne dla dialektu.
Natychmiastowo
Wyniki w milisekundach. Bez oczekiwania, bez rejestracji.
Jak to działa
Trzy kroki, żadnych komplikacji
Wklej zapytanie SQL
Wklej kod SQL bezposrednio do edytora. Obsluguje SELECT, INSERT, UPDATE, DELETE, CREATE i podzapytania.
Wybierz dialekt SQL
Wybierz MySQL, PostgreSQL, SQL Server, SQLite lub inny dialekt, aby uzyskac precyzyjne formatowanie.
Skopiuj sformatowany SQL
SQL pojawia sie z poprawnym wcieciem i slowami kluczowymi pisanymi wielkimi literami. Skopiuj jednym kliknieciem.
FAQ
Masz pytania?
Formatowanie SQL porzadkuje zapytania przez dodanie spojnego wciecia, pisanie slow kluczowych wielkimi literami (SELECT, FROM, WHERE, JOIN), dodawanie podzialu wierszy miedzy klauzulami i wyrownanie kolumn. Wynik jest funkcjonalnie identyczny z oryginaem, ale znacznie bardziej czytelny, co ulatwia przeglad, debugowanie i utrzymanie zlozonych zapytan.
Tak. Zapytania SELECT sa formatowane przez rozwijanie kazdej klauzuli w osobnej linii (SELECT, FROM, WHERE, GROUP BY, ORDER BY) i wcinanie kolumn. Zapytania INSERT listuja pola i wartosci wyrownane wzgledem siebie. Instrukcje UPDATE rozdzielaja kazde SET do wlasnej linii. Podzapytania otrzymuja dodatkowy poziom wciecia wskazujacy ich hierarchie w glownym zapytaniu.
Konwencja pisania slow kluczowych SQL wielkimi literami (SELECT, FROM, WHERE) siga IBM z lat 70. XX wieku, gdy jezyk nazywal sie SEQUEL. Na owczesnych terminalach wielkie litery poprawialy wizualnie czytelnosc przez odroznienie polecen jezykowych od nazw tabel i kolumn. Mimo ze nowoczesne silniki SQL sa nierazliwe na wielkosc liter w slowach kluczowych, konwencja ta jest zachowana w przewodnikach stylu SQL firm Google, Airbnb i wiekszosci zespolow danych.
Podzapytania sa wcinane o jeden dodatkowy poziom wzgledem zapytania zawierajacego. Podzapytanie w klauzuli WHERE otrzymuje 4 lub 8 spacji wciecia w zaleznosci od wybranego stylu. Skoelowane podzapytania (odwolujace sie do kolumn z zewnetrznego zapytania) sa wizualnie oznaczane komentarzami w niektorych formaterach. Wyrazenia CTE (Common Table Expressions) uzywajace WITH sa listowane po jednym w linii przed glownym zapytaniem.
Tak. Niektore ORM i systemy buforowania zapytan korzystaja ze zminifikowanego SQL (bez zbednych bialych znakow lub podzialu wierszy) do porownywania zapytan przez skrot lub zmniejszenia ruchu w protokolach bazodanowych. Zminifikowany SQL ulatwia tez umieszczanie zapytan w lancuchach kodu bez znakow ucieczki. Minifikacja SQL usuwa komentarze, zwija wiele spacji w jedna i eliminuje podzialy wierszy, zachowujac dokladna semantyke.
Historia SQL i sztuka formatowania zapytan
SQL zostal zaprojektowany przez E.F. Codda w 1970 roku w IBM jako jezyk dla modelu relacyjnego. Pierwszym systemem implementujacym SQL byl IBM System R (1974-1979), gdzie jezyk nosil nazwe SEQUEL (Structured English Query Language). Nazwe zmieniono na SQL ze wzgledow znakowych. W 1986 roku ANSI opublikowal standard SQL-86, po ktorym nastapily SQL-89, SQL-92 (ktory dodal explicite JOIN), SQL:1999 (funkcje okienkowe, wyrazenia regularne), SQL:2003 (CTE, MERGE) i najnowszy standard SQL:2023.
Optymalizacja zapytan i czytelnosc SQL sa scisle powiazane. Plany zapytan generowane przez silnik bazy danych zaleza od sposobu pisania zapytan: dobrze wciete JOIN od razu ujawnia, czy brakuje warunku zlaczenia (tworzac kosztowny iloczyn kartezjanski). Przewodniki stylu SQL takich firm jak GitLab, Kickstarter i Yelp stanowia, ze spojne formatowanie jest obowiazkowe podczas przegladu kodu, gdyz zle sformatowane zapytania w migracjach powodowaly przerwy produkcyjne z powodu trudnych do wykrycia wizualnie bledow.
Ekosystem narzedzi do formatowania SQL obejmuje sql-formatter (npm, autorstwa Nikity Galaiko), pgFormatter (Perl, specyficzny dla PostgreSQL), SQLFluff (Python, z obsluga dbt i Jinja) oraz wtyczki do IDE takich jak DataGrip i DBeaver. SQL:2023 wprowadzil natywna obsluge danych JSON (JSON_TABLE, IS JSON) i grafow wlasciwosci (SQL/PGQ), rozszerzajac zastosowania poza tradycyjne zapytania relacyjne i zwiekszajac zlozonosc, ktora sprawia, ze automatyczne formatowanie staje sie niezbedne.