SQL Formatter & Beautifier

Füge eine unübersichtliche Abfrage ein und erhalte sauberes, einheitlich eingerücktes SQL. Mit 17 Dialekten, Keyword-Schreibweise und Minifier per Klick, alles in deinem Browser.

Läuft im BrowserOhne AnmeldungKein Upload

Formatiertes SQL

Anleitung: SQL Formatter

  1. Füge eine oder mehrere SQL-Anweisungen in das Eingabefeld ein oder öffne eine .sql-Datei.
  2. Wähle deinen Datenbankdialekt, damit dessen Syntax wie ::-Casts, [Klammern], Backticks oder $$-Strings korrekt geparst wird.
  3. Lege die Schreibweise der Keywords (GROSS, klein oder beibehalten), die Einrückung und die Anzahl der Leerzeilen zwischen Anweisungen fest.
  4. Wechsle zu Minifizieren, um Kommentare und Leerraum für Logs, ORMs oder URL-Parameter zu entfernen.
  5. Kopiere das Ergebnis oder lade es als .sql-Datei herunter.

Warum SQL formatieren?

Abfragen aus ORM-Logs, Query-Plänen oder Anwendungscode kommen meist als eine lange Zeile an. Jede Klausel (SELECT, FROM, JOIN, WHERE, GROUP BY) in eine eigene Zeile zu setzen und Spalten und Bedingungen einzurücken, macht die Logik lesbar. Außerdem werden Diffs im Code-Review kleiner, und du erkennst leichter eine fehlende Join-Bedingung oder ein falsch platziertes OR.

SQL-Stilkonventionen

  • Keywords in Großbuchstaben (SELECT, WHERE) heben die SQL-Syntax von Tabellen- und Spaltennamen ab. Die meisten Styleguides empfehlen das, in dbt- und Analytics-Teams ist Kleinschreibung aber ebenfalls verbreitet.
  • Eine Spalte pro Zeile macht das Hinzufügen oder Entfernen von Spalten zu einem einzeiligen Diff.
  • Einheitliche Einrückung (2 oder 4 Leerzeichen) innerhalb von Klauseln und Unterabfragen zeigt die Verschachtelung auf einen Blick.
  • Abschluss von Anweisungen: Beende jede Anweisung mit ;, damit Skripte mit mehreren Anweisungen eindeutig sind.

Unterstützte SQL-Dialekte

Standard-SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore und TiDB. Lässt sich eine Abfrage nicht parsen, probiere einen spezifischeren Dialekt: @variables, $1-Parameter und herstellerspezifische Operatoren werden nur in ihrem eigenen Dialekt erkannt.

Was der Minifier macht

Der Minify-Modus entfernt Kommentare mit --, # und /* */, fasst Leerraum und Zeilenumbrüche zu einzelnen Leerzeichen zusammen und entfernt Leerzeichen um Kommas und Klammern. String-Literale und gequotete Bezeichner ('…', "…", `…`, […], $$…$$) werden Byte für Byte übernommen, die Bedeutung der Abfrage ändert sich also nie.

Häufig gestellte Fragen

Wird mein SQL an einen Server gesendet?
Nein. Die Formatierung nutzt die Open-Source-Bibliothek sql-formatter, die in deinem Browser läuft. Abfragen mit Tabellennamen, Kundendaten oder Zugangsdaten bleiben auf deinem Rechner.
Ändert die Formatierung, was die Abfrage tut?
Nein. Es ändern sich nur Leerraum, Zeilenumbrüche und (falls gewählt) die Schreibweise der Keywords. Bezeichner, String-Literale und Kommentare bleiben wie geschrieben.
Warum bekomme ich bei gültigem SQL einen Parse-Fehler?
Die Abfrage verwendet wahrscheinlich Syntax einer anderen Datenbank. Wähle den passenden Dialekt, zum Beispiel PostgreSQL für ::type-Casts oder SQL Server für [bracketed]-Namen und @params.
Kann ich mehrere Anweisungen auf einmal formatieren?
Ja. Trenne die Anweisungen mit Semikolons. Du kannst wählen, wie viele Leerzeilen in der Ausgabe dazwischen stehen.
Ändert die Keyword-Schreibweise meine Spaltennamen?
Nein. Nur reservierte Keywords, Datentypen und eingebaute Funktionen werden umgeschrieben. Tabellen- und Spaltennamen behalten ihre ursprüngliche Schreibweise.

Ähnliche Tools