Bezmaksas pārveidotājs

SQL formatētājs & Skaistinātājs

Formatējiet, uzlabojiet un notīriet SQL vaicājumus uzreiz savā pārlūkprogrammā. Nav nepieciešama augšupielāde — pilnīgi privāta un bezmaksas.

Velciet un nometiet SQL failu šeit

Atbalsta .sql failus. Vai ielīmējiet savu SQL iepriekš minētajā apgabalā.

Or

Par šo rīku

SQL vaicājumi kļūst gari un ātri sarežģīti — savienojas daudzās tabulās, ligzdotie apakšvaicājumi, lielas WHERE klauzulas ar daudziem nosacījumiem, sarežģītas CASE izteiksmes. Kompaktais SQL, kas pieblīvēts dažās rindās, nav nolasāms; pareizi atkāpe SQL ar konsekventu lielo burtu lietojumu padara vaicājuma struktūru redzamu vienā mirklī. Formatēšana ir atšķirība starp vaicājumu, kuru varat atkļūdot, un vaicājumu, kuru nevarat atkļūdot.

Šis formatētājs parsē SQL un izstaro izvadi ar atkāpi, pareizi rakstītā burtā. SQL atslēgvārdi (SELECT, FROM, WHERE, JOIN, GROUP BY) parasti tiek rakstīti ar lielajiem burtiem, tabulu un kolonnu nosaukumi atbilst avotam, un atkāpe atspoguļo ligzdošanu (apakšvaicājumi ar atkāpi to vecāku iekšpusē, CASE zari ar atkāpi). Vairāku dialektu atbalsts apstrādā MySQL, PostgreSQL, SQL Server, Oracle un SQLite atšķirības.

Formatēšana ir nesagraujoša — formatētais vaicājums ir funkcionāli identisks ievadei. Mainās tikai atstarpes un reģistrs.

Kāpēc formatēt SQL

Blīvu neformatētu SQL lasīšana ir garīgi apgrūtinoša. Identificēt, kuri nosacījumi pieder pie kuriem JOIN, kur sākas un kur apakšvaicājumi beidzas un kā CASE zari ir saistīti, kļūst grūtāk, ja viss ir dažās rindās. Formatēts SQL ir ātrāk lasāms un samazina kļūdas, ko rada nepareiza struktūra.

Īpaši koda pārskatīšanas priekšrocības. Recenzenti var ātri saprast, ko vaicājums dara, kad tas ir formatēts; neformatēta SQL lasīšana pārskatīšanas laikā veicina izlaišanu vai gumijas štancēšanu. Formatēts SQL arī rada nozīmīgas atšķirības, kad vaicājumi mainās.

Kā lietot

Ielīmējiet vaicājumu, noklikšķiniet uz formāta.

  1. Ielīmējiet savu SQL: Nometiet vaicājumu ievades apgabalā. Darbojas gan viena, gan vairāku paziņojumu ievade.
  2. Izvēlieties dialektu: Noklusējums ir vispārīgs SQL. Dialektam specifisku atslēgvārdu atpazīšanai izvēlieties MySQL, PostgreSQL, SQL Server vai Oracle.
  3. Konfigurēt opcijas: Atkāpes lielums (parasti 2 vai 4 atstarpes), atslēgvārdu reģistrs (visbiežāk tiek lietoti lielie burti, mazie burti ir dažu komandu izvēle), komatu izvietojums (beigumā vai sākumā).
  4. Formāts: Formatētā izvade tiek parādīta nekavējoties. Kopējiet vai lejupielādējiet lietošanai.

Bieži lietojami gadījumi

Tehniskās detaļas

SQL parsēšanai ir jāsaprot dialekts, jo dažādas datu bāzes gramatiku paplašina dažādos veidos. Formatētājs parasti izmanto marķieri, lai identificētu atslēgvārdus, identifikatorus, burtus un pieturzīmes, un pēc tam izveido izvadi ar atstarpēm un atkāpēm starp marķieriem.

Atkāpes noteikumi: SELECT, FROM, WHERE, GROUP BY, ORDER BY katrs savā rindā. Savienotas tabulas nākamajās rindās ar atkāpi zem FROM. Nosacījumi sadaļā WHERE atsevišķās rindiņās lasāmībai. Apakšvaicājumi savos atkāpes blokos.

Lietu apzīmējumi: atslēgvārdi visbiežāk ir lielie burti (SELECT, FROM, WHERE). Dažas komandas dod priekšroku mazajiem burtiem. Identifikatori (tabulu un kolonnu nosaukumi) saglabā avota reģistru.

Labākā prakse

Bieži uzdotie jautājumi

Vai formatēšana maina vaicājuma darbību?
Nē. SQL formatējums pielāgo tikai atstarpes, rindiņu pārtraukumus un atslēgvārdu lielos burtus. Vaicājuma loģika, izpildes plāns un rezultāti paliek identiski. Tas ir tikai lasāmības uzlabojums.
Kuri SQL dialekti tiek atbalstīti?
Šis rīks atbalsta standarta SQL un noteiktus dialektus: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) un Oracle PL/SQL. Dialektam raksturīgie atslēgvārdi un funkcijas tiek atpazītas pareizi.
Vai tas apstrādā apakšvaicājumus un CTE?
Jā. Kopējās tabulu izteiksmes (AR klauzulām), ligzdotie apakšvaicājumi, logu funkcijas un sarežģītas JOIN ķēdes tiek formatētas ar atbilstošiem atkāpes līmeņiem.
Vai es varu to izmantot uzglabātajām procedūrām?
Formatētājs vislabāk apstrādā atsevišķus SQL paziņojumus. Var darboties vairāku priekšrakstu procedūras, trigeri un funkcijas, taču sarežģītas procesuālās loģikas (IF/ELSE, cilpas) formatējums ir atkarīgs no dialekta.
Vai atslēgvārdiem jābūt lielajiem vai mazajiem?
Konvencija atšķiras. Atslēgvārdi ar lielajiem burtiem ir tradicionāli un izplatīti. Mūsdienu stila ceļvežos tiek pieņemti mazie burti. Izvēlieties vienu un saglabājiet konsekvenci kodu bāzē.
Vai tas formatē saglabātās procedūras?
Lielākā daļa formatētāju apstrādā saglabāto procedūru sintaksi (CREATE PROCEDURE, BEGIN/END bloki, vadības plūsma). Var tikt daļēji atbalstīti dialektam raksturīgi paplašinājumi.
Vai mans SQL ir augšupielādēts?
Nē. Formatēšana notiek jūsu pārlūkprogrammā.
Vai es varu formatēt no komandrindas?
Vairāki SQL formatētāji piedāvā CLI rīkus (sqlfluff, sql-formatter). Izmantojiet tos pakešu formatēšanai vai CI integrācijai. Pārlūkprogrammu formatētāji ir paredzēti vienreizējai ad hoc lietošanai.