Teknobench

Formatter tal-SQL

Iffurmatja queries SQL għal PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake u aktar, b’għażliet tal-keywords u tal-indentazzjoni, fil-brawżer.

Kif tifformatja query SQL

  1. Waħħal query waħda jew aktar, jew ikklikkja Iftaħ fajl biex tagħbi fajl .sql (sa 10 MB).
  2. Agħżel id-Djalett tad-database tiegħek, per eżempju PostgreSQL, MySQL jew SQL Server (T-SQL).
  3. Agħżel kif jinkitbu l-Keywords (KAPITALI, żgħar jew Żomm kif ktibt) u l-Indentazzjoni.
  4. Immarka Mingħajr spazji madwar l-operaturi jekk tippreferi a=b+1 minflok a = b + 1.
  5. Ikklikkja Formatta SQL, imbagħad ikkopja jew niżżel ir-riżultat. Jekk tbiddel għażla, il-query terġa’ tiġi ffurmattjata.

Il-query tiġi biss ifformattjata mill-ġdid bħala test. Qatt ma titħaddem u qatt ma tintbagħat lil database jew server.

X’jagħmel il-formatter

L-għodda tuża l-librerija open-source sql-formatter. Taqsam kull statement f’klawsoli u tpoġġi kull keyword ta’ klawsola (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) fuq linja tagħha, bil-kontenut tal-klawsola indentat taħtha. Il-kolonni f’lista SELECT jitqiegħdu waħda f’kull linja, il-kundizzjonijiet AND u OR jibdew linji ġodda, u s-subqueries u l-espressjonijiet CASE jiġu indentati skont il-livell ta’ nesting. Espressjonijiet qosra bejn parentesi jibqgħu fuq linja waħda. Diversi statements separati b’punt u virgola jinżammu separati b’linja vojta.

Jinbidlu biss l-ispazji vojta u l-każ tal-ittri. L-istrings litterali, l-identifikaturi bejn il-virgoletti u l-kummenti jinżammu eżatt, għalhekk il-query ifformattjata tagħti l-istess riżultat bħall-oriġinali.

Għaliex id-djalett huwa importanti

Id-databases SQL jaqsmu l-lingwa bażika iżda jvarjaw fid-dettalji, u formatter irid jafhom biex jaqra l-query kif suppost:

  • l-identifikaturi jitqiegħdu bejn "double quotes" f’SQL standard u PostgreSQL, `backticks` f’MySQL, MariaDB u BigQuery, u [brackets] f’SQL Server;
  • operaturi bħall-->> u l-casts :: ta’ PostgreSQL, jew l-aċċess : tal-path ta’ Snowflake, jeżistu biss f’xi djaletti;
  • il-placeholders tal-parametri jvarjaw: ?, $1, :name jew @name;
  • kull djalett għandu l-kliem riżervat u l-funzjonijiet tiegħu, li l-għażla Keywords tbiddel.

Jekk tikseb “Il-query ma setgħetx tiġi analizzata”, l-ewwel iċċekkja li d-djalett magħżul jaqbel mad-database tiegħek. L-iżball juri l-linja u l-kolonna fejn waqaf l-analizzar. SQL standard huwa l-iktar għażla restrittiva; agħżel id-database attwali tiegħek kull meta jkun possibbli.

Kapitali tal-keywords u pariri ta’ stil

Il-keywords kapitali jibqgħu l-konvenzjoni l-aktar komuni għax jisseparaw il-lingwa mill-ismijiet tat-tabelli u tal-kolonni minn ewwel ħarsa. L-ittri żgħar huma popolari fit-timijiet li jsibuha aktar faċli biex taqra, u Żomm kif ktibt iħalli l-għażla tiegħek bla tmiss. L-ismijiet tat-tabelli, tal-kolonni u tal-funzjonijiet qatt ma jinbidlu: biss il-keywords riżervati jsegwu l-għażla. Għal fajls twal, formattjar konsistenti jagħmel ukoll id-differenzi bejn il-verżjonijiet ferm aktar faċli biex jiġu rieżaminati.

Mistoqsijiet frekwenti

Liema djaletti huma appoġġjati?

SQL standard, 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 u Couchbase N1QL.

L-għodda tiċċekkja li l-query tiegħi hija valida?

Le. Tiċċekkja li l-query tista’ tinqara fid-djalett magħżul, iżda mhux li t-tabelli jew il-kolonni jeżistu jew li l-query titħaddem. Biss id-database tiegħek tista’ tikkonferma dan.

Tista’ tifformatja stored procedures?

Parzjalment. L-istatements ġewwa l-procedures jiġu ffurmattjati, iżda l-blokki proċedurali (BEGIN … END, loops, DECLARE) jitqiegħdu b’mod aktar sempliċi milli f’IDE dedikat.

Il-query tiegħi tintbagħat lil xi server?

Le. Il-formattjar jaħdem fil-brawżer tiegħek, għalhekk queries b’ismijiet ta’ tabelli jew data jibqgħu fuq il-kompjuter tiegħek.

Għaliex il-kumment tiegħi huwa f’post differenti?

Il-kummenti jinżammu, iżda kumment fi tmiem linja jista’ jiċċaqlaq mal-element li jsegwi meta dak l-element imur f’linja ġdida.