SQL-Formatierer
SQL formatieren für PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake und mehr – mit Optionen für Schlüsselwörter und Einrückung, direkt im Browser.
So formatieren Sie eine SQL-Abfrage
- Fügen Sie eine oder mehrere Abfragen ein oder klicken Sie auf „Datei öffnen“, um eine
.sql-Datei zu laden (bis 10 MB). - Wählen Sie den „Dialekt“ Ihrer Datenbank, zum Beispiel PostgreSQL, MySQL oder SQL Server (T-SQL).
- Legen Sie fest, wie „Schlüsselwörter“ geschrieben werden (GROSSBUCHSTABEN, kleinbuchstaben oder Wie eingegeben), und wählen Sie die „Einrückung“.
- Aktivieren Sie „Keine Leerzeichen um Operatoren“, wenn Sie
a=b+1lieber mögen alsa = b + 1. - Klicken Sie auf „SQL formatieren“ und kopieren oder laden Sie das Ergebnis herunter. Wenn Sie eine Option ändern, wird die Abfrage neu formatiert.
Die Abfrage wird nur als Text umformatiert. Sie wird nie ausgeführt und nie an eine Datenbank oder einen Server gesendet.
Was der Formatierer macht
Das Tool nutzt die Open-Source-Bibliothek sql-formatter. Es zerlegt jede Anweisung in Klauseln und setzt jedes Klausel-Schlüsselwort (SELECT, FROM, WHERE, GROUP BY, ORDER BY …) in eine eigene Zeile, den Inhalt der Klausel eingerückt darunter. Die Spalten einer SELECT-Liste stehen jeweils in einer eigenen Zeile, AND- und OR-Bedingungen beginnen eine neue Zeile, und Unterabfragen sowie CASE-Ausdrücke werden je nach Verschachtelungstiefe eingerückt. Kurze Ausdrücke in Klammern bleiben in einer Zeile. Mehrere durch Semikolon getrennte Anweisungen werden durch eine Leerzeile voneinander abgesetzt.
Es ändern sich nur Leerraum und Groß-/Kleinschreibung. Zeichenkettenliterale, Bezeichner in Anführungszeichen und Kommentare bleiben exakt erhalten – die formatierte Abfrage liefert also dasselbe Ergebnis wie das Original.
Warum der Dialekt wichtig ist
SQL-Datenbanken teilen den Sprachkern, unterscheiden sich aber im Detail – und ein Formatierer muss diese Details kennen, um die Abfrage richtig zu lesen:
- Bezeichner stehen in Standard-SQL und PostgreSQL in
"doppelten Anführungszeichen", in MySQL, MariaDB und BigQuery in`Backticks`und in SQL Server in[eckigen Klammern]; - Operatoren wie
->>und::-Casts in PostgreSQL oder der:-Pfadzugriff in Snowflake gibt es nur in manchen Dialekten; - Parameter-Platzhalter unterscheiden sich:
?,$1,:nameoder@name; - jeder Dialekt hat eigene reservierte Wörter und Funktionen, auf die sich die Option „Schlüsselwörter“ auswirkt.
Erhalten Sie die Meldung „Die Abfrage konnte nicht gelesen werden“, prüfen Sie zuerst, ob der gewählte Dialekt zu Ihrer Datenbank passt. Der Fehler nennt Zeile und Spalte, an der das Lesen abgebrochen ist. „Standard-SQL“ ist die strengste Wahl; wählen Sie nach Möglichkeit Ihre tatsächliche Datenbank.
Schreibweise der Schlüsselwörter und Stil-Tipps
Großgeschriebene Schlüsselwörter sind nach wie vor die verbreitetste Konvention, weil sie die Sprache auf einen Blick von Tabellen- und Spaltennamen abheben. Kleinschreibung ist in Teams beliebt, die sie als angenehmer lesbar empfinden, und „Wie eingegeben“ lässt Ihre Schreibweise unverändert. Tabellen-, Spalten- und Funktionsnamen werden nie verändert, nur reservierte Schlüsselwörter folgen der Option. Bei langen Dateien macht eine einheitliche Formatierung außerdem Unterschiede zwischen Versionen viel leichter nachvollziehbar.
Häufige Fragen
Welche Dialekte werden unterstützt?
Standard-SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB und Couchbase N1QL.
Prüft das Tool, ob meine Abfrage gültig ist?
Nein. Es prüft, ob sich die Abfrage im gewählten Dialekt lesen lässt, aber nicht, ob die Tabellen oder Spalten existieren oder ob die Abfrage laufen würde. Das kann nur Ihre Datenbank bestätigen.
Kann das Tool gespeicherte Prozeduren formatieren?
Teilweise. Anweisungen innerhalb von Prozeduren werden formatiert, prozedurale Blöcke (BEGIN … END, Schleifen, DECLARE) aber einfacher angeordnet als in einer spezialisierten IDE.
Wird meine Abfrage an einen Server gesendet?
Nein. Die Formatierung läuft in Ihrem Browser, Abfragen mit Tabellennamen oder Daten bleiben also auf Ihrem Computer.
Warum steht mein Kommentar an einer anderen Stelle?
Kommentare bleiben erhalten. Ein Kommentar am Zeilenende kann aber mit dem Element wandern, auf das er folgt, wenn dieses Element in eine neue Zeile rückt.
Ähnliche Tools
- JSON-Formatierer und -Validator Kostenloser JSON-Formatierer und Validator: JSON im Browser formatieren, minifizieren und prüfen – Syntaxfehler mit Zeile und Spalte.
- JavaScript-Formatierer und -Minifier Minifiziertes JavaScript lesbar formatieren, mit Terser minifizieren oder die Syntax mit Zeile und Spalte prüfen – direkt in Ihrem Browser.
- XML-Formatierer und -Validator XML-Formatierer im Browser: XML formatieren, minifizieren und auf Wohlgeformtheit prüfen. Fehler mit Zeile und Spalte, ohne Upload Ihrer Dateien.