So verwenden Sie es
- Fügen Sie die Anweisung in SQL ein. Das Layout entsteht bei jeder Eingabe.
- Wählen Sie eine Einrückung von 2 oder 4 Leerzeichen für das Layout.
- Setzen Sie den Haken bei Minimieren: alles in einer Zeile, wenn die Anweisung eine einzige Zeile sein muss, etwa für eine Konfigurationsdatei oder ein Log.
- Kopieren Sie den Text unter Formatiertes SQL oder laden Sie ihn als formatted.sql herunter.
So entsteht das Layout
Der Formatierer liest den Text als Token: Wörter, Zahlen, Zeichenketten, in Anführungszeichen gesetzte Namen, Kommentare, Operatoren und Satzzeichen. Wörter aus der Liste der SQL-Schlüsselwörter werden in Großbuchstaben geschrieben, alle anderen, Namen eingeschlossen, behalten ihre Schreibweise. Eine Klausel wie SELECT, FROM, WHERE, GROUP BY, HAVING oder ORDER BY beginnt eine neue Zeile, und ihr Inhalt wird eine Stufe darunter eingerückt.
In SELECT, FROM, GROUP BY, ORDER BY, SET und VALUES beginnt nach jedem Komma eine neue Zeile. AND und OR beginnen unter WHERE, HAVING und ON eine Zeile. Ein Join wie LEFT OUTER JOIN beginnt eine Zeile unter FROM, und seine ON-Bedingung bleibt in dieser Zeile. Eine Unterabfrage in Klammern wird eine Stufe tiefer eingerückt als die Zeile, in der die Klammer steht, und ihre schließende Klammer richtet sich an dieser Zeile aus.
- Zeichenketten mit verdoppelten einfachen Anführungszeichen (''), in doppelte Anführungszeichen, Backticks oder eckige Klammern gesetzte Namen und Text in Dollar-Quotes bleiben genau erhalten.
- Zeilenkommentare und Blockkommentare bleiben erhalten. Beim Minimieren wird ein Zeilenkommentar zu einem Blockkommentar, damit die Anweisung in einer Zeile bleiben kann.
Was der Formatierer nicht tut
Der Formatierer zerlegt die Anweisung nicht in ihre Bedeutung. Er prüft daher nicht, ob sie gültiges SQL ist, und er ändert ihre Bedeutung nicht. Er kennt die Regeln einer bestimmten Datenbank nicht. Ein Schlüsselwort, das in einem Dialekt besonders ist und in einem anderen ein gewöhnlicher Name, wird in beiden Fällen in Großbuchstaben geschrieben. Prüfen Sie das Ergebnis mit Ihrer eigenen Datenbank, bevor Sie es im Produktivbetrieb verwenden.
Rechenbeispiel: eine Berichtsabfrage
Die Standardanweisung wählt id und name aktiver Benutzer mit der Anzahl ihrer Bestellungen aus, gruppiert sie und sortiert nach der Anzahl. Mit zwei Leerzeichen formatiert hat die SELECT-Liste eine Spalte je Zeile, jede Klausel beginnt eine eigene Zeile, und LIMIT 10 ist die letzte Zeile.
Minimiert ist dieselbe Anweisung eine Zeile mit einfachen Leerzeichen zwischen den Wörtern. Die Anzahl zeigt 1 Anweisung.
Häufig gestellte Fragen
Welchen SQL-Dialekt unterstützt der Formatierer?
Er arbeitet mit den Teilen, die die meisten Dialekte gemeinsam haben, etwa SELECT, INSERT, UPDATE, DELETE, Joins, Unterabfragen und CASE. Er akzeptiert die Anführungsstile von MySQL, PostgreSQL, SQL Server und SQLite, prüft aber keine dialektspezifische Syntax.
Verändert das Formatieren das Ergebnis meiner Abfrage?
Nein. Es ändern sich nur die Leerzeichen, die Zeilenumbrüche und die Schreibweise der Schlüsselwörter. Namen, Zeichenketten, Zahlen und Kommentare bleiben genau erhalten, daher bedeutet die Anweisung dasselbe.
Warum wurde ein Wort in meinem Tabellen- oder Spaltennamen in Großbuchstaben geschrieben?
Das Wort steht auf der Liste der Schlüsselwörter, etwa USE oder ORDER, und wird daher überall in Großbuchstaben geschrieben. Namen, die nicht auf der Liste stehen, bleiben genau erhalten. Setzen Sie solche Namen in doppelte Anführungszeichen oder Backticks, damit sie wie eingegeben bleiben.
Warum wird ein Zeilenkommentar beim Minimieren zu einem Blockkommentar?
Ein Zeilenkommentar endet am Ende seiner Zeile, in einer einzigen Zeile würde er also den Rest der Anweisung verbergen. Der Blockkommentar behält den Text und verbirgt den Code danach nicht.
Wird mein SQL an einen Server geschickt?
Nein. Das Formatieren läuft in Ihrem Browser. Was Sie einfügen, wird nicht an einen Server gesendet und dort auch nicht gespeichert. Das ist wichtig, wenn die Anweisung private Daten enthält.
Quellen
- PostgreSQL-Dokumentation (englisch): SQL-Syntax, lexikalischer Aufbau
- SQLite-Dokumentation (englisch): SQL-Schlüsselwörter
Zahlen und Text zuletzt geprüft: Dienstag, 10. November 2026.