SQL formázó és szépítő

Illessz be egy rendezetlen lekérdezést, és tiszta, következetesen behúzott SQL-t kapsz. 17 dialektus, kulcsszavak kis/nagybetűsítése és egykattintásos minifier, mind a böngésződben.

A böngésződben futNincs regisztrációNincs feltöltés

Formázott SQL

Hogyan használd: SQL formázó

  1. Illessz be egy vagy több SQL utasítást a bemeneti mezőbe, vagy nyiss meg egy .sql fájlt.
  2. Válaszd ki az adatbázis dialektusát, hogy a sajátos szintaxist, például a :: castokat, a [brackets] jelölést, a backtickeket vagy a $$ stringeket helyesen értelmezze.
  3. Állítsd be a kulcsszavak írásmódját (NAGYBETŰS, kisbetűs vagy megőrzés), a behúzást és az utasítások közötti üres sorok számát.
  4. Válts Minifikálás módra, hogy eltávolítsd a kommenteket és a szóközöket naplókhoz, ORM-ekhez vagy URL-paraméterekhez.
  5. Másold ki az eredményt, vagy töltsd le .sql fájlként.

Miért érdemes formázni az SQL-t?

Az ORM-naplókból, lekérdezési tervekből vagy alkalmazáskódból másolt lekérdezések általában egyetlen hosszú sorként érkeznek. Ha minden záradék (SELECT, FROM, JOIN, WHERE, GROUP BY) külön sorba kerül, az oszlopok és feltételek pedig be vannak húzva, a logika olvashatóvá válik. Kódátnézéskor a diffek is kisebbek lesznek, és könnyebben észreveszel egy hiányzó join-feltételt vagy egy rossz helyen álló OR-t.

SQL stíluskonvenciók

  • A nagybetűs kulcsszavak (SELECT, WHERE) elválasztják az SQL szintaxist a tábla- és oszlopnevektől. A legtöbb stílusútmutató ezt ajánlja, bár a dbt- és analitikai csapatoknál a kisbetűs írásmód is népszerű.
  • Soronként egy oszlop: így egy oszlop hozzáadása vagy törlése egysoros diff.
  • A következetes behúzás (2 vagy 4 szóköz) a záradékokon és allekérdezéseken belül első pillantásra mutatja a beágyazást.
  • Utasításlezárók: minden utasítást zárj ; jellel, hogy a több utasításból álló scriptek egyértelműek legyenek.

Támogatott SQL dialektusok

Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore és TiDB. Ha egy lekérdezés feldolgozása nem sikerül, próbálj egy specifikusabb dialektust: a @variables, a $1 paraméterek és a gyártóspecifikus operátorok csak a saját dialektusukban ismertek.

Mit csinál a minifier?

A minify mód eltávolítja a --, # és /* */ kommenteket, a szóközöket és sortöréseket egyetlen szóközzé vonja össze, és elhagyja a vesszők és zárójelek körüli szóközöket. A string literálokat és az idézett azonosítókat ('…', "…", `…`, […], $$…$$) bájtra pontosan átmásolja, így a lekérdezés jelentése sosem változik.

Gyakran ismételt kérdések

Elküldjük az SQL-emet egy szerverre?
Nem. A formázás a nyílt forráskódú sql-formatter könyvtárral történik, amely a böngésződben fut. A táblaneveket, ügyféladatokat vagy hitelesítő adatokat tartalmazó lekérdezések a gépeden maradnak.
Megváltoztatja a formázás, hogy mit csinál a lekérdezés?
Nem. Csak a szóközök, a sortörések és (ha így választod) a kulcsszavak kis/nagybetűs írása változik. Az azonosítók, string literálok és kommentek úgy maradnak, ahogy írtad.
Miért kapok elemzési hibát érvényes SQL-re?
A lekérdezés valószínűleg egy másik adatbázisra jellemző szintaxist használ. Válaszd ki a megfelelő dialektust, például PostgreSQL-t a ::type castokhoz, vagy SQL Servert a [bracketed] nevekhez és a @params paraméterekhez.
Formázhatok egyszerre több utasítást?
Igen. Válaszd el az utasításokat pontosvesszővel. Azt is megadhatod, hány üres sor kerüljön közéjük a kimenetben.
Megváltoztatja a kulcsszavak írásmódja az oszlopneveimet?
Nem. Csak a foglalt kulcsszavak, adattípusok és beépített függvények írásmódja változik. A tábla- és oszlopnevek megtartják eredeti írásmódjukat.

Kapcsolódó eszközök