Nemokamas konverteris

SQL formatuoklis & Gražintuvas

Savo naršyklėje akimirksniu formatuokite, pagražinkite ir išvalykite SQL užklausas. Įkelti nereikia – visiškai privatu ir nemokama.

Nuvilkite SQL failą čia

Palaiko .sql failus. Arba įklijuokite savo SQL į aukščiau esančią sritį.

Arba

Apie šį įrankį

SQL užklausos tampa ilgos ir greitai sudėtingos – daugelio lentelių sujungimas, įdėtos antrinės užklausos, dideli WHERE sąlygos su daugybe sąlygų, sudėtingos CASE išraiškos. Kompaktiškas SQL, įspaustas į kelias eilutes, yra neįskaitomas; tinkamai įtraukta SQL su nuoseklia didžiųjų raidžių rašyba leidžia iš pirmo žvilgsnio matyti užklausos struktūrą. Formatavimas yra skirtumas tarp užklausos, kurią galite derinti, ir tos, kurios negalite.

Šis formatuotojas analizuoja SQL ir išleidžia įtrauktą, tinkamai surašytą išvestį. SQL raktiniai žodžiai (SELECT, FROM, WHERE, JOIN, GROUP BY) paprastai rašomi didžiosiomis raidėmis, lentelių ir stulpelių pavadinimai atitinka šaltinį, o įtrauka atspindi įdėjimą (antrinės užklausos įtrauktos pirminėse, CASE šakos įtrauktos). Kelių tarmių palaikymas tvarko MySQL, PostgreSQL, SQL Server, Oracle ir SQLite skirtumus.

Formatavimas yra neardomas – suformatuota užklausa funkciškai identiška įvesties. Keičiasi tik tarpai ir didžiosios ir mažosios raidės.

Kodėl formatuoti SQL

Tankaus neformatuoto SQL skaitymas yra psichiškai sudėtingas. Nustatyti, kurios sąlygos priklauso, kurioms JOIN, kur prasideda ir baigiasi antrinės užklausos ir kaip yra susijusios CASE šakos, tampa sunkiau, kai viskas yra keliose eilutėse. Suformatuotas SQL yra greičiau nuskaitomas ir sumažina klaidas dėl neteisingos struktūros.

Kodo peržiūra ypač naudinga. Recenzentai gali greitai suprasti, ką užklausa veikia, kai ji suformatuota; neformatuoto SQL skaitymas peržiūros metu skatina praleisti arba spausti guma. Suformatuotas SQL taip pat sukuria reikšmingus skirtumus, kai pasikeičia užklausos.

Kaip naudoti

Įklijuokite užklausą, spustelėkite formatą.

  1. Įklijuokite savo SQL: Įveskite užklausą į įvesties sritį. Veikia tiek vienas, tiek kelių teiginių įvestis.
  2. Pasirinkite tarmę: Numatytasis yra bendrasis SQL. Norėdami atpažinti su dialektu susijusius raktinius žodžius, pasirinkite MySQL, PostgreSQL, SQL Server arba Oracle.
  3. Konfigūruoti parinktis: Įtraukos dydis (paprastai 2 arba 4 tarpai), raktinio žodžio didžiosios ir mažosios raidės (dažniausiai naudojamos didžiosios raidės, mažosios – kai kurių komandų pasirinkimas), kablelio išdėstymas (pabaigoje arba pradžioje).
  4. Formatas: Suformatuota išvestis pasirodo iš karto. Nukopijuokite arba atsisiųskite naudojimui.

Bendro naudojimo atvejai

Techninės detalės

SQL analizei reikia suprasti tarmę, nes skirtingos duomenų bazės skirtingai išplečia gramatiką. Formatuotojas paprastai naudoja raktažodžius, kad nustatytų raktinius žodžius, identifikatorius, raides ir skyrybos ženklus, tada sukuria išvestį su tarpo ir įtraukos tarp žetonų taisyklėmis.

Įtraukų taisyklės: SELECT, FROM, WHERE, GROUP BY, ORDER BY kiekvienas savo eilutėje. Sujungtos lentelės tolesnėse eilutėse, įtrauktose po FROM. Sąlygos WHERE atskirose eilutėse, kad būtų lengviau skaityti. Papildomos užklausos atskiruose įtrauktuose blokuose.

Didžiųjų ir mažųjų raidžių taisyklės: dažniausiai naudojami raktiniai žodžiai didžiosiomis raidėmis (SELECT, FROM, WHERE). Kai kurios komandos teikia pirmenybę mažosioms raidėms. Identifikatoriai (lentelių ir stulpelių pavadinimai) išsaugo šaltinio didžiąsias ir mažąsias raides.

Geriausia praktika

Dažnai užduodami klausimai

Ar formatavimas keičia užklausos elgesį?
Ne. SQL formatavimas koreguoja tik tarpą, eilučių lūžius ir raktažodžių didžiąsias ir mažąsias raides. Užklausos logika, vykdymo planas ir rezultatai išlieka identiški. Tai grynai skaitymo patobulinimas.
Kurie SQL dialektai palaikomi?
Įrankis palaiko standartinį SQL ir tam tikrus dialektus: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) ir Oracle PL/SQL. Tarmei būdingi raktiniai žodžiai ir funkcijos atpažįstami teisingai.
Ar jis tvarko antrines užklausas ir CTE?
Taip. Bendrosios lentelės išraiškos (SU sakiniais), įdėtos antrinės užklausos, langų funkcijos ir sudėtingos JOIN grandinės yra suformatuotos atitinkamais įtraukos lygiais.
Ar galiu tai naudoti saugomoms procedūroms?
Formatuotojas geriausiai tvarko atskirus SQL sakinius. Kelių teiginių procedūros, paleidikliai ir funkcijos gali veikti, tačiau sudėtingas procedūrinės logikos (IF/ELSE, kilpos) formatavimas priklauso nuo dialekto.
Ar raktiniai žodžiai turi būti didžiosiomis ar mažosiomis raidėmis?
Konvencija skiriasi. Raktiniai žodžiai didžiosiomis raidėmis yra tradiciniai ir įprasti. Šiuolaikiniuose stiliaus vadovuose populiarėja mažosios raidės. Pasirinkite vieną ir būkite nuoseklūs kodų bazėje.
Ar formatuoja saugomas procedūras?
Dauguma formatuotojų tvarko saugomų procedūrų sintaksę (CREATE PROCEDURE, BEGIN/END blokai, valdymo srautas). Gali būti iš dalies palaikomi tam tikram dialektui būdingi plėtiniai.
Ar mano SQL įkeltas?
Ne. Formatavimas vyksta jūsų naršyklėje.
Ar galiu formatuoti iš komandinės eilutės?
Keletas SQL formatuotojų siūlo CLI įrankius (sqlfluff, sql-formatter). Naudokite juos paketiniam formatavimui arba CI integravimui. Naršyklės formatavimo įrenginiai skirti ad hoc vienkartiniam naudojimui.