Utilia

Formátovač SQL

Formátuj dopyty SQL pre PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake a ďalšie, s voľbou veľkosti písmen kľúčových slov a odsadenia, v prehliadači.

Ako naformátovať dopyt SQL

  1. Vlož jeden alebo viac dopytov, alebo klikni na Otvoriť súbor a načítaj súbor .sql (do 10 MB).
  2. Vyber Dialekt svojej databázy, napríklad PostgreSQL, MySQL alebo SQL Server (T-SQL).
  3. Vyber, ako sa majú písať Kľúčové slová (VEĽKÉ PÍSMENÁ, malé písmená alebo Ponechať ako napísané), a Odsadenie.
  4. Zaškrtni Bez medzier okolo operátorov, ak ti viac vyhovuje a=b+1 než a = b + 1.
  5. Klikni na Formátovať SQL a potom výsledok skopíruj alebo stiahni. Zmena voľby dopyt naformátuje znova.

Dopyt sa len preformátuje ako text. Nikdy sa nespúšťa a nikdy sa neodosiela do databázy ani na server.

Funguje v tvojom prehliadači. Nič, čo zadáš, sa neodosiela na server.

Čo formátovač robí

Nástroj používa open-source knižnicu sql-formatter. Každý príkaz rozdelí na klauzuly a každé kľúčové slovo klauzuly (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) dá na vlastný riadok, pričom obsah klauzuly je pod ním odsadený. Stĺpce v zozname SELECT sú umiestnené po jednom na riadok, podmienky AND a OR začínajú novým riadkom a poddopyty a výrazy CASE sú odsadené podľa úrovne vnorenia. Krátke výrazy v zátvorkách zostávajú na jednom riadku. Viac príkazov oddelených bodkočiarkami je od seba oddelených prázdnym riadkom.

Mení sa len medzerovanie a veľkosť písmen. Reťazcové literály, citované identifikátory a komentáre zostávajú presne také, aké sú, takže naformátovaný dopyt vráti rovnaký výsledok ako pôvodný.

Prečo záleží na dialekte

Databázy SQL majú spoločné jadro jazyka, ale líšia sa v detailoch a formátovač ich musí poznať, aby dopyt správne prečítal:

  • identifikátory sa uvádzajú v "dvojitých úvodzovkách" v štandardnom SQL a PostgreSQL, v `spätných apostrofoch` v MySQL, MariaDB a BigQuery a v [hranatých zátvorkách] v SQL Server;
  • operátory ako ->> a pretypovanie :: v PostgreSQL alebo prístup k ceste cez : v Snowflake existujú len v niektorých dialektoch;
  • zástupné znaky parametrov sa líšia: ?, $1, :name alebo @name;
  • každý dialekt má vlastné vyhradené slová a funkcie, ktoré mení voľba Kľúčové slová.

Ak sa zobrazí „Dopyt sa nepodarilo spracovať“, najprv skontroluj, či vybraný dialekt zodpovedá tvojej databáze. Chyba ukáže riadok a stĺpec, kde sa spracovanie zastavilo. Štandardné SQL je najprísnejšia voľba; kedykoľvek je to možné, vyber svoju skutočnú databázu.

Veľkosť písmen kľúčových slov a tipy na štýl

Veľké písmená pri kľúčových slovách zostávajú najbežnejšou konvenciou, pretože na prvý pohľad oddeľujú jazyk od názvov tabuliek a stĺpcov. Malé písmená sú obľúbené v tímoch, ktorým sa lepšie čítajú, a Ponechať ako napísané tvoju voľbu nechá nedotknutú. Názvy tabuliek, stĺpcov a funkcií sa nikdy nemenia: voľbu dodržiavajú len vyhradené kľúčové slová. Pri dlhých súboroch jednotné formátovanie tiež výrazne uľahčuje kontrolu rozdielov medzi verziami.

Často kladené otázky

Ktoré dialekty sa podporujú?

Štandardné 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 a Couchbase N1QL.

Kontroluje nástroj, či je môj dopyt platný?

Nie. Skontroluje, či sa dopyt dá prečítať vo zvolenom dialekte, ale nie to, či tabuľky alebo stĺpce existujú alebo či by sa dopyt vykonal. To môže potvrdiť len tvoja databáza.

Dokáže formátovať uložené procedúry?

Čiastočne. Príkazy vnútri procedúr sa formátujú, ale procedurálne bloky (BEGIN … END, cykly, DECLARE) sú rozložené jednoduchšie než vo vyhradenom IDE.

Odosiela sa môj dopyt na server?

Nie. Formátovanie beží v tvojom prehliadači, takže dopyty obsahujúce názvy tabuliek alebo údaje zostávajú na tvojom počítači.

Prečo je môj komentár na inom mieste?

Komentáre sa zachovávajú, ale komentár na konci riadka sa môže presunúť s prvkom, za ktorým stojí, keď tento prvok skončí na novom riadku.