Naar inhoud springen
100% Privacy — Bestanden blijven op je eigen apparaat
>_
Nederlands

SQL-formatter & validator

Maak SQL netjes of comprimeer het, en controleer de syntaxis met de exacte regel en kolom van een fout — voor 20 dialecten, volledig in je browser.

Alles draait in je browser — je SQL wordt nooit naar een server geüpload.

Opties
1 regels · 0 B

Sleep hier een .sql- of .txt-bestand heen, plak tekst of laad een voorbeeld. Druk op Ctrl+Enter om uit te voeren.

Syntaxiscontrole

Plak SQL om de syntaxis te controleren.

“Geldig” betekent dat de syntaxis klopt voor deze grammatica. De controle kent geen databaseschema, dus ze kan niet zien of tabellen of kolommen bestaan of of de query wel werkt. Dialectspecifieke of zeer nieuwe syntaxis kan worden afgewezen, ook als je database die gewoon accepteert.

SQL formatteren, comprimeren en controleren in je browser

Leesbare SQL is makkelijker te beoordelen, te debuggen en te vergelijken. Deze tool schrijft een query om met consistente inspringing, regeleinden en hoofdlettergebruik, en kent de eigenaardigheden van zo'n twintig dialecten, waaronder MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, BigQuery, Snowflake, Redshift, Oracle PL/SQL, Hive, Spark, Trino en DB2. Kies een dialect, kies twee of vier spaties of tabs, bepaal of sleutelwoorden, gegevenstypen en functienamen in hoofdletters, kleine letters of ongewijzigd blijven, en zet komma's aan het begin van de regel als dat de stijl van je team is.

De syntaxiscontrole is de tweede helft. Plak een script en elk statement wordt apart gevalideerd, zodat je ziet welke slagen en welke falen. Bij een fout zie je de regel en kolom, het betreffende token, een paar regels context en waar mogelijk een hint, zoals een verkeerd gespeld sleutelwoord, een overbodige komma of een niet gesloten haakje. Bij het opsplitsen houdt de tool rekening met tekenreeksen, opmerkingen, backticks, vierkante haken en PostgreSQL dollar-quoted blokken, zodat een puntkomma binnen een waarde een statement nooit doormidden knipt.

Comprimeren doet het tegenovergestelde van formatteren: het voegt witruimte samen en haalt op verzoek opmerkingen weg, zodat je een compacte query op één regel krijgt voor logs, configuratiebestanden of om in code te plaatsen. Het werkt op tokens in plaats van op reguliere expressies, dus tekst in tekenreeksen en namen tussen aanhalingstekens blijft precies zoals je hem schreef.

Houd rekening met de grenzen. Een groen vinkje bewijst dat de syntaxis past bij de gekozen grammatica, niet dat je tabellen bestaan of dat de query snel of juist is. Sommige dialecten, procedurele blokken en de nieuwste functies worden maar gedeeltelijk ondersteund, en voor een paar dialecten bestaat geen eigen controle; dan kun je zelf de dichtstbijzijnde grammatica kiezen. Alles gebeurt lokaal, dus je kunt gerust productiequery's plakken, en bij een groot bestand wordt de live voorvertoning gewoon gepauzeerd tot je op een knop klikt.

Veelgestelde vragen

Betekent “geldig” dat mijn query werkt?

Nee. De controle kijkt alleen naar de syntaxis. Ze heeft geen toegang tot je database en weet dus niet of een tabel of kolom bestaat, of de typen bij elkaar passen of dat je er rechten voor hebt. Ze gebruikt bovendien een eigen grammatica, waardoor gloednieuwe of leverancierspecifieke syntaxis kan worden afgewezen terwijl je database die wel accepteert. Zie een groen resultaat als “de SQL is correct opgebouwd” en een rood resultaat als “kijk even naar deze plek”.

Wordt mijn SQL ergens geüpload?

Nee. Formatteren, comprimeren en de syntaxiscontrole draaien allemaal in je browser, in een achtergrondtaak. Er wordt niets naar een server gestuurd. Het optionele concept en je instellingen worden alleen bewaard in de lokale opslag van deze browser.

Waarom kan de formatter slagen terwijl de controle een fout meldt?

Het zijn twee verschillende onderdelen. De formatter hoeft alleen tokens en clausules te herkennen en is dus soepel. De controle gebruikt een volledige grammatica voor het gekozen dialect en is strenger. Als ze het oneens zijn, zie je een waarschuwing: het resultaat wordt nog steeds getoond, maar de gemarkeerde regel verdient een blik.

Verandert comprimeren wat mijn query doet?

Er worden alleen witruimte en opmerkingen verwijderd. Tekenreeksen, namen tussen aanhalingstekens, dollar-quoted blokken en optimizer-hints worden teken voor teken overgenomen, en tokens die aan elkaar vastzaten blijven aan elkaar vastzitten. Comprimeer voor de zekerheid geen scripts die van regeleinden afhankelijk zijn, zoals MySQL DELIMITER-blokken.

Gerelateerde tools