Formátovač a validátor SQL - Formátování SQL dotazů online zdarma
Bezplatný formátovač a validátor SQL. Automaticky formátuje SQL se správným odsazením a velikostí písmen. Okamžitě kontroluje syntaktické chyby. Funguje s MySQL, PostgreSQL, SQL Server, Oracle.
Formátovač a validátor SQL
Formátujte a ověřujte SQL dotazy s automatickým odsazením, psaním klíčových slov velkými písmeny a detekcí syntaktických chyb.
Dokumentace
Proč záleží na formátování SQL
Někdy zdědíte databázový projekt, kde SQL vypadá, jako by ho někdo psal se zavázanýma očima? Nejste sami. Špatně formátované SQL je jedním z nejčastějších zdrojů chyb a plýtvání času při vývoji databází.
Tento formátovač a validátor SQL vám pomáhá automaticky vyčistit nepřehledné dotazy. Vložte své SQL a okamžitě aplikuje správné odsazení, kapitalizuje klíčová slova a kontroluje syntaktické chyby - to vše přímo ve vašem prohlížeči bez odesílání dat na jakýkoli server. To, co obvykle trvá 10-15 minut ručního formátování, se nyní stane během několika sekund.
Ze své zkušenosti s databázovými týmy vím, že největší úsporou času není jen samotné formátování - ale zachycení chyb ještě před jejich nasazením do produkce. Špatně umístěná závorka nebo neuzavřený řetězec mohou způsobit hodiny ladění. Tento nástroj tyto problémy zachytí okamžitě, ještě před samotným spuštěním dotazu v databázi.
Jak používat SQL Formátovač
Rozhraní je úmyslně minimalistické—stačí vložit a jít:
- Vložte svůj SQL kód do vstupního pole (nebo ho napište přímo, pokud píšete od začátku)
- Sledujte automatické formátování při psaní—žádná tlačítka ke klikání, žádná nastavení ke konfiguraci
- Zkontrolujte chyby validace pokud se nějaké zobrazí pod formátovaným výstupem
- Zkopírujte formátovaný SQL jediným kliknutím pro použití ve vašem IDE, dokumentaci nebo databázovém nástroji
Funguje na jakémkoli zařízení s prohlížečem. Formátování probíhá zcela na straně klienta, takže vaše dotazy nikdy neopustí váš počítač—důležité při práci s produkčními databázovými strukturami nebo citlivými schématy.
Co SQL Formátovač Dělá
Kapitalizace Klíčových Slov
Všechna SQL klíčová slova jsou automaticky psána velkými písmeny—SELECT, FROM, WHERE, JOIN a podobně. To odpovídá konvenci používané většinou databázových týmů a činí klíčová slova vizuálně odlišná od názvů tabulek a sloupců. Při procházení složitého dotazu vám toto vizuální oddělení pomáhá okamžitě identifikovat strukturu dotazu.
Inteligentní Odsazení
Formátovač strukturuje váš SQL kód podle logické hierarchie, nikoli jen náhodným přidáváním zalomení řádků. Hlavní klauzule jako SELECT a FROM začínají u levého okraje. Klauzule JOIN jsou odsazeny pod FROM, aby ukázaly, že jsou součástí výběru tabulek. Poddotazy dostávají další úrovně odsazení, což činí vnořenou logiku jasnou.
Co se v praxi děje: když máte dotaz s několika spojeními a poddotazy, správné odsazení vám umožní vidět strukturu dotazu bez čtení každého slova. Okamžitě můžete rozpoznat, kde jedno spojení končí a další začíná, nebo kde je poddotaz použit ve vašem SELECT seznamu.
Logická Zalomení Řádků
Zalomení řádků se objevují tam, kde pomáhají čitelnosti, ne jen kdekoli. Každá hlavní klauzule dostává svůj vlastní řádek. Položky v čárkou oddělených seznamech (jako názvy sloupců v SELECT) dostávají každá svůj řádek se správným odsazením. Poddotazy jsou vizuálně odděleny. Příkazy CASE jsou zalomeny u WHEN, THEN a ELSE pro lepší přehlednost.
Mezery odpovídají konvencím SQL Style Guide používaným v oboru, což znamená, že váš formátovaný SQL bude vypadat povědomě pro ostatní vývojáře.
Validace SQL: Co se kontroluje
Validátor zachytává chyby, které obvykle proklouznou, když píšete SQL rychle. Nenahradí analyzátor dotazů vaší databáze, ale zachytává běžné chyby ještě předtím, než dotaz spustíte.
Strukturální chyby
Nevyvážené závorky jsou překvapivě běžné ve složitých dotazech s vnořenými poddotazy. Validátor počítá otevírací a zavírací závorky, aby okamžitě označil nesrovnalosti. Viděl jsem provozní incidenty způsobené jedinou chybějící závorkou ve 200řádkovém dotazu—toto je zachytí včas.
Neuzavřené řetězcové literály nastávají, když zapomenete uzavírací uvozovky u řetězcové hodnoty. Vaše databáze je okamžitě zamítne, ale zachycení zde ušetří jeden cyklus.
Problémy s pořadím klauzulí jsou označeny, když se klauzule objeví mimo pořadí. Například pokud umístíte HAVING před GROUP BY nebo WHERE za GROUP BY, validátor vás upozorní. To odpovídá syntaktickým pravidlům SQL standardu definovaným v ISO/IEC 9075 SQL standardu.
Logické chyby
Klauzule JOIN bez ON podmínek vytvářejí náhodné křížové spojení, které vrací mnohem více řádků, než bylo zamýšleno. Běžný scénář: přidáváte třetí nebo čtvrtou tabulku do dotazu a zapomenete na klauzuli ON. Bez této kontroly byste si možná nevšimli, dokud neuvidíte tisíce duplicitních řádků ve výsledcích.
HAVING bez GROUP BY je technicky neplatný SQL ve většině databází. Klauzule HAVING filtruje seskupené výsledky, takže vyžaduje GROUP BY, aby fungovala. Validátor zachytává tuto logickou nesrovnalost.
Neúplné WHERE podmínky nastávají, když začnete psát podmínku, ale nedokončíte ji—jako WHERE status = bez hodnoty. Tyto chyby jsou snadno přehlédnutelné při úpravách dotazů.
Co nezachytí
Tento validátor se zaměřuje na syntaxi a strukturu, ne na schéma databáze. Nezjistí, zda:
- Existují názvy tabulek nebo sloupců ve vaší databázi
- Spojujete kompatibilní datové typy
- Váš dotaz bude výkonný nebo má problémy s optimalizací
- Máte oprávnění přistupovat k tabulkám, které dotazujete
Považujte to za první kontrolu před odesláním dotazu do vaší skutečné databáze.
Formátovací pravidla aplikovaná tímto nástrojem
Formátovač aplikuje konzistentní pravidla vycházející z konvencí SQL Style Guide, které dodržuje většina databázových týmů.
Klíčová slova jsou psána velkými písmeny
Každé SQL klíčové slovo je převedeno na velká písmena: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP. To zahrnuje klauzule (FROM, WHERE, GROUP BY, HAVING, ORDER BY), typy spojení (JOIN, INNER JOIN, LEFT JOIN), operátory (AND, OR, NOT, IN, BETWEEN, LIKE) a běžné funkce (COUNT, SUM, AVG, CASE, WHEN).
Proč velkými písmeny? Vytváří vizuální rozlišení mezi jazykovými prvky SQL a vašimi databázově specifickými názvy (tabulky, sloupce, aliasy). Při prohlížení dotazu vaše oko okamžitě zachytí strukturu.
Odsazení o dva mezery na úroveň
Hlavní klauzule jako SELECT a FROM začínají u levého okraje. Klauzule JOIN jsou odsazeny o dva mezery pod FROM, aby ukázaly, že jsou součástí výběru tabulek. Poddotazy jsou odsazeny dalšími dvěma mezerami pro každou úroveň vnoření. Tím se vytváří vizuální hierarchie odpovídající logické struktuře.
Čárkou oddělené seznamy (například názvy sloupců v SELECT) jsou na samostatných řádcích s konzistentním odsazením. Když máte 15 sloupců v seznamu SELECT, usnadňuje to prohlížení a hledání konkrétních sloupců.
Podmínky v klauzulích WHERE jsou zarovnány svisle. Pokud máte více podmínek AND nebo OR, zarovnání okamžitě objasňuje logickou strukturu.
Před a po: Podívejte se na rozdíl
Před formátováním:
1select u.id, u.name, o.order_date from users u join orders o on u.id = o.user_id where o.status = "completed" group by u.id order by u.name;
2Po formátování:
1SELECT
2 u.id,
3 u.name,
4 o.order_date
5FROM users u
6 JOIN orders o ON u.id = o.user_id
7WHERE
8 o.status = "completed"
9GROUP BY
10 u.id
11ORDER BY
12 u.name;
13Validační pravidla: Co je označeno
Validátor kontroluje strukturální integritu a základní logickou konzistenci. Zde je, co hledá:
Strukturální kontroly
Vyvážené závorky: Otevírací a zavírací závorky se musí shodovat. Vnořené podpožadavky často mají několik úrovní závorek a jejich špatné spočítání je jednou z nejběžnějších chyb SQL. Validátor je spočítá za vás.
Správně uzavřené řetězce: Každá otevírací uvozovka (jednoduché nebo dvojité) potřebuje zavírací uvozovku. Zní to samozřejmě, ale při psaní složitého dotazu s několika řetězcovými literály je snadné jednu přehlédnout.
Správné pořadí klauzulí: SQL má specifické požadavky na pořadí. SELECT přichází před FROM, který přichází před WHERE, který přichází před GROUP BY, který přichází před HAVING, který přichází před ORDER BY. Umístění mimo sekvenci způsobuje okamžité syntaktické chyby. Validátor kontroluje toto pořadí podle standardu SQL.
Kontroly logické konzistence
JOIN s ON podmínkou: Každý JOIN potřebuje klauzuli ON nebo USING k určení vztahu mezi tabulkami. Bez ní dostanete křížový join - každý řádek z jedné tabulky spárovaný s každým řádkem z druhé tabulky. To je zřídka to, co chcete, a obvykle to znamená chybějící klauzuli ON.
Úplné WHERE podmínky: Klauzule WHERE potřebuje úplné predikáty. WHERE status = bez hodnoty je neúplný a neplatný. Validátor označuje tyto částečné podmínky.
HAVING vyžaduje GROUP BY: Klauzule HAVING filtruje seskupené výsledky, takže má smysl pouze tehdy, když máte GROUP BY. Použití HAVING bez GROUP BY je logická chyba, kterou většina databází odmítá.
Pravidla agregace GROUP BY: Když použijete agregační funkce jako COUNT() nebo SUM(), všechny neuvedené agregované sloupce ve vašem seznamu SELECT musí být uvedeny v GROUP BY. Toto je základní požadavek SQL, který validátor kontroluje.
Příklad běžných chyb, které jsou zachyceny
Zde je SQL s několika problémy, které by validátor označil:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6Zjištěné problémy:
JOIN userschybíONpodmínka (vytvoří křížový join)WHERE status =je neúplný (chybí hodnota pro porovnání)- Prázdná klauzule
GROUP BY(nejsou specifikovány žádné sloupce) HAVING count > 10odkazuje na nedefinovaný sloupec
Kdy použít tento SQL formátovač
Při kontrolách kódu
Zkoušeli jste někdy zkontrolovat 50-řádkový SQL dotaz napsaný na jednom řádku? Je to brutální. Před odesláním dotazů ke kontrole je nejprve zformátujte. Vaši recenzenti vám poděkují a budou se moci zaměřit na logiku místo luštění struktury.
Při kontrole pull requestů se změnami v databázi požádejte přispěvatele, aby nejprve zformátovali svůj SQL kód. Díky konzistentní struktuře je mnohem snazší odhalit logické chyby.
Ladění produkčních problémů
Když řešíte problematický dotaz v produkci, jeho správné zformátování vám pomůže jasně vidět strukturu. Odpálil jsem nespočet dotazů, kde problém byl ihned zřejmý po jejich správném zformátování - chybějící podmínka join, nesprávné seskupení klauzule WHERE nebo poddotaz na špatném místě.
Zkopírujte dotaz z vašich logů, vložte ho sem a okamžitě uvidíte případné strukturální problémy.
Práce s generovaným SQL
ORM (Object-Relational Mappery) jako Hibernate, Entity Framework nebo SQLAlchemy generují SQL automaticky. Někdy potřebujete vidět, jaký dotaz vlastně produkují. Generované SQL je obvykle jeden dlouhý řádek bez formátování. Tento nástroj umožňuje ORM-generované dotazy zpřehlednit, abyste jim mohli porozumět a optimalizovat je.
Výuka a učení se SQL
Pokud se učíte SQL nebo ho vyučujete, tento formátovač vám pomůže pochopit správnou strukturu dotazu. Když vložíte fungující dotaz a uvidíte, jak se zformátuje, naučíte se konvencím. Když vložíte nefunkční dotaz a uvidíte chybové validace, pochopíte, proč nefunguje.
Migrace mezi databázovými systémy
Různé databáze (PostgreSQL, MySQL, SQL Server) mají mírně odlišné SQL dialekty. Při migraci dotazů mezi systémy pomáhá správné formátování odhalit dialekt-specifickou syntaxi, která může vyžadovat úpravu. Formátovač se řídí standardními SQL konvencemi, které fungují ve většině hlavních databází.
Alternativy k tomuto SQL formátoru
IDE specifické pro databáze
Nástroje jako DataGrip, SQL Server Management Studio nebo MySQL Workbench mají vestavěné formátovače. Jsou výkonné a přímo se integrují s vašimi databázovými připojeními.
Kompromis: vyžadují instalaci a nastavení. DataGrip stojí 199 USD/rok pro jednotlivce. SSMS je zdarma, ale pouze pro Windows. Pokud potřebujete rychlé formátování bez instalace nebo pracujete s více databázovými systémy, je webový nástroj praktičtější.
Rozšíření editoru
Pokud píšete SQL ve VS Code nebo Sublime Text, rozšíření jako SQL Beautify nebo SqlBeautifier přináší formátování přímo do vašeho editoru. To funguje dobře, když aktivně píšete dotazy a chcete okamžité formátování jako součást vašeho pracovního postupu.
Omezení: rozšíření vyžadují konfiguraci a jsou vázána na váš konkrétní editor. Při sdílení SQL s kolegy nebo zveřejňování dotazů v dokumentaci zajišťuje standardizovaný webový formátovač stejné formátování pro všechny.
Formátovače příkazového řádku
Nástroje jako sqlformat (Python) nebo sql-formatter-cli (Node.js) mohou být integrovány do CI/CD pipeline pro automatické formátování SQL ve verzovacím systému. To zajišťuje konzistenci v týmu.
Nejlépe použitelné pro automatizované pracovní postupy, nikoli pro ad-hoc formátování. Pokud jen čistíte několik dotazů nebo se učíte SQL, nástroje příkazového řádku přidávají zbytečnou složitost.
Jak se formátování SQL stalo standardní praxí
SQL bylo vyvinuto v IBM v 70. letech, ale formátovací konvence se objevily až mnohem později. Raný SQL byl funkční, ale nekonzistentní — každý vývojář formátoval dotazy jinak.
Zlomový bod nastal v 90. letech, když se databáze přesunuly z projektů jednotlivých vývojářů na týmový vývoj. Organizace začaly vytvářet interní stylistické příručky SQL pro zachování konzistence. Když na stejné databázi pracovalo pět vývojářů, čitelné SQL se stalo nezbytné pro spolupráci.
V roce 2000 přišly ORM, které generovaly SQL automaticky. Tyto nástroje produkovaly funkční, ale ošklivé SQL — vše na jednom řádku, bez odsazení. To vyvolalo poptávku po automatických formátovačích, které by mohly generované SQL učinit čitelným pro člověka.
Online SQL formátovače se objevily v 2010. letech současně s dozráváním webového vývoje. Místo instalace nástrojů nebo konfigurace IDE pluginů mohli vývojáři formátovat SQL přímo v prohlížeči. To zpřístupnilo správné formátování všem — od začátečníků učících se SQL po zkušené vývojáře upravující rychlé dotazy.
Dnes je formátování SQL považováno za základní praxi, podobně jako formátování kódu v jiných programovacích jazycích. Průvodce stylem SQL od Simona Holywella poskytuje široce přijímané konvence a nástroje jako tento implementují tyto standardy automaticky.
Příklady kódu
Příklad 1: Základní SELECT dotaz
Neformátovaný:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2Formátovaný:
1SELECT
2 id,
3 first_name,
4 last_name,
5 email
6FROM
7 customers
8WHERE
9 status = 'active'
10ORDER BY
11 last_name,
12 first_name;
13Příklad 2: JOIN dotaz
Neformátovaný:
1select c.id, c.name, o.order_date, o.total_amount from customers c left join orders o on c.id = o.customer_id where o.order_date >= '2023-01-01' and o.status != 'cancelled' order by o.order_date desc;
2Formátovaný:
1SELECT
2 c.id,
3 c.name,
4 o.order_date,
5 o.total_amount
6FROM
7 customers c
8 LEFT JOIN orders o ON c.id = o.customer_id
9WHERE
10 o.order_date >= '2023-01-01'
11 AND o.status != 'cancelled'
12ORDER BY
13 o.order_date DESC;
14Příklad 3: Komplexní dotaz s poddotazem
Neformátovaný:
1select d.department_name, (select count(*) from employees e where e.department_id = d.id) as employee_count, (select avg(salary) from employees e where e.department_id = d.id) as avg_salary from departments d where d.active = true having employee_count > 0 order by avg_salary desc;
2Formátovaný:
1SELECT
2 d.department_name,
3 (
4 SELECT
5 COUNT(*)
6 FROM
7 employees e
8 WHERE
9 e.department_id = d.id
10 ) AS employee_count,
11 (
12 SELECT
13 AVG(salary)
14 FROM
15 employees e
16 WHERE
17 e.department_id = d.id
18 ) AS avg_salary
19FROM
20 departments d
21WHERE
22 d.active = TRUE
23HAVING
24 employee_count > 0
25ORDER BY
26 avg_salary DESC;
27Programové formátování SQL
Zde jsou příklady implementace formátování SQL v různých programovacích jazycích:
1// Příklad formátování SQL v JavaScriptu pomocí knihovny sql-formatter
2const sqlFormatter = require('sql-formatter');
3
4function formatSQL(sql) {
5 return sqlFormatter.format(sql, {
6 language: 'sql',
7 uppercase: true,
8 linesBetweenQueries: 2,
9 indentStyle: 'standard'
10 });
11}
12
13const rawSQL = "select id, name from users where status='active'";
14const formattedSQL = formatSQL(rawSQL);
15console.log(formattedSQL);
161# Příklad formátování SQL v Pythonu pomocí sqlparse
2import sqlparse
3
4def format_sql(sql):
5 return sqlparse.format(
6 sql,
7 reindent=True,
8 keyword_case='upper',
9 identifier_case='lower',
10 indent_width=2
11 )
12
13raw_sql = "select id, name from users where status='active'"
14formatted_sql = format_sql(raw_sql)
15print(formatted_sql)
161// Příklad formátování SQL v Javě pomocí JSqlParser
2import net.sf.jsqlparser.parser.CCJSqlParserUtil;
3import net.sf.jsqlparser.statement.Statement;
4
5public class SQLFormatter {
6 public static String formatSQL(String sql) throws Exception {
7 Statement statement = CCJSqlParserUtil.parse(sql);
8 return statement.toString()
9 .replaceAll("(?i)SELECT", "\nSELECT")
10 .replaceAll("(?i)FROM", "\nFROM")
11 .replaceAll("(?i)WHERE", "\nWHERE")
12 .replaceAll("(?i)ORDER BY", "\nORDER BY");
13 }
14
15 public static void main(String[] args) throws Exception {
16 String rawSQL = "select id, name from users where status='active'";
17 String formattedSQL = formatSQL(rawSQL);
18 System.out.println(formattedSQL);
19 }
20}
211<?php
2// Příklad formátování SQL v PHP
3function formatSQL($sql) {
4 // Nahradit klíčová slova verzemi s velkými písmeny
5 $keywords = ['SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT JOIN', 'RIGHT JOIN',
6 'INNER JOIN', 'GROUP BY', 'ORDER BY', 'HAVING', 'LIMIT'];
7
8 $formattedSQL = $sql;
9 foreach ($keywords as $keyword) {
10 $formattedSQL = preg_replace('/\b' . preg_quote($keyword, '/') . '\b/i', "\n$keyword", $formattedSQL);
11 }
12
13 // Přidat odsazení
14 $lines = explode("\n", $formattedSQL);
15 $result = '';
16 $indentLevel = 0;
17
18 foreach ($lines as $line) {
19 $trimmedLine = trim($line);
20 if (!empty($trimmedLine)) {
21 $result .= str_repeat(" ", $indentLevel) . $trimmedLine . "\n";
22 }
23 }
24
25 return $result;
26}
27
28$rawSQL = "select id, name from users where status='active'";
29$formattedSQL = formatSQL($rawSQL);
30echo $formattedSQL;
31?>
32Často kladené dotazy
Funguje tento SQL formátovač s PostgreSQL, MySQL a SQL Serverem?
Ano, zpracovává standardní SQL syntaxi, která je běžná ve všech hlavních databázích—PostgreSQL, MySQL, SQL Server (T-SQL), Oracle, SQLite a MariaDB. Formátovač se zaměřuje na základní SQL, které funguje všude: SELECT, JOIN, WHERE, GROUP BY a podobně.
Databázově specifické funkce nemusí být formátovány dokonale. Například syntaxe polí v PostgreSQL nebo proprietární funkce SQL Serveru nemusí dostat speciální formátování, ale formátovač je stejně nerozbije. Dotaz bude stále čitelnější než předtím.
Je můj SQL kód odeslán na server?
Ne. Vše probíhá přímo ve vašem prohlížeči. Vložte svůj SQL kód a bude naformátován lokálně bez jakýchkoli síťových požadavků. Vaše dotazy nikdy neopustí váš počítač.
Toto je důležité, když pracujete s produkčními databázovými schématy nebo proprietárními obchodními logikami. Nehrozí riziko zaznamenání nebo uložení citlivých informací na cizím serveru.
Dokáže validátor odhalit všechny SQL chyby?
Vůbec ne. Zachytí strukturální a syntaktické problémy—chybějící závorky, neuzavřené uvozovky, klauzule ve špatném pořadí. To je vše.
Nepozná, zda jsou vaše názvy tabulek špatné, datové typy nekompatibilní nebo zda váš dotaz poběží 10 minut. Na to potřebujete skutečnou databázi. Považujte tento validátor za kontrolu pravopisu pro SQL, ne za úplný analyzátor dotazů.
Proč formátovat SQL, když ho databáze stejně spustí?
Databáze se formátováním nezabývají—parsují dotaz bez ohledu na jeho úpravu. Ale lidé ano. Když potřebujete ladit neúspěšný dotaz, upravit existující nebo kontrolovat SQL někoho jiného, správné formátování znamená rozdíl mezi pochopením za 30 sekund nebo 30 minut.
Formátovaný SQL vám také pomáhá odhalovat logické chyby. Když je struktura jasná, můžete vidět, zda jste nesprávně spojili tabulky nebo umístili podmínky na špatné místo.
Mohu přizpůsobit odsazení nebo styl klíčových slov?
Momentálně ne. Formátovač používá standardní konvence: velká písmena pro klíčová slova, odsazení o dvě mezery, klauzule na samostatných řádcích. Tyto postupy odpovídají SQL Style Guide, který používá většina týmů.
Pokud potřebujete vlastní formátování (jiná šířka odsazení, malá písmena klíčových slov), budete potřebovat konfigurovatelný nástroj příkazového řádku jako sqlformat nebo vývojové prostředí s nastavením formátování.
Bude to fungovat s uloženými procedurami o 1000 řádcích?
Naformátuje velké dotazy, i když velmi komplexní uložené procedury (1000+ řádků) mohou chvíli trvat. Formátovač zpracuje SQL, které vložíte, bez ohledu na délku.
Pro obrovské uložené procedury můžete chtít rozdělit je na menší části nebo použít databázové vývojové prostředí optimalizované pro velké soubory.
Změní formátování způsob spouštění mého dotazu?
Ne. Formátování přidává pouze mezery a mění velikost písmen. Databáze obojí ignoruje. Naformátovaný dotaz vrátí přesně stejné výsledky a poběží se stejným výkonem jako neformátovaná verze.
Jedinou výjimkou jsou případy, kdy validátor najde skutečné syntaktické chyby (chybějící závorky atd.), jejichž opravení změní chování—ale jen z "neběží" na "běží správně".
Jakého SQL standardu se formátovač drží?
Formátovač následuje konvence SQL-92 s rozšířeními pro běžné funkce v SQL:1999 a pozdějších standardech. Pokrývá SQL, které vývojáři píší každý den—dotazy SELECT, spojení, poddotazy, příkazy CASE, window funkce.
Velmi nové SQL funkce z SQL:2016 nebo SQL:2019 nemusí být rozpoznány, ale formátovač je nerozbije. Dostanete jen základní formátování místo specializovaného zpracování.
Mohu to použít pro Oracle PL/SQL nebo SQL Server T-SQL?
Pro základní dotazy ano. Pro procedurální kód (bloky PL/SQL, T-SQL uložené procedury s řídicím tokem) bude formátování omezené. Nástroj se zaměřuje na příkazy SELECT, INSERT, UPDATE, DELETE a jejich klauzule.
Pokud hodně pracujete s databázově specifickým procedurálním kódem, bude nativní vývojové prostředí vaší databáze (SQL Developer pro Oracle, SSMS pro SQL Server) poskytovat lepší formátování, které plně rozumí syntaxi.
Reference a další literatura
- Průvodce stylem SQL od Simona Holywella - De facto standard pro konvence formátování SQL používaný vývojářskými týmy
- ISO/IEC 9075 SQL Standard - Oficiální mezinárodní specifikace SQL standardu
- Dokumentace syntaxe PostgreSQL SQL - Komplexní reference syntaxe SQL pro PostgreSQL
- Reference Microsoft T-SQL - Oficiální dokumentace pro dialekt T-SQL serveru SQL Server
- Referenční příručka MySQL - Kompletní reference SQL příkazů MySQL
Začněte formátovat svůj SQL
Čitelný SQL zrychluje ladění, usnadňuje kontrolu kódu a zlepšuje spolupráci. Vložte svůj dotaz výše, abyste ho viděli naformátovaný podle oborových standardních konvencí — bez instalace, bez konfigurace, bez opouštění dat vašeho prohlížeče.