Zum Inhalt springen
TextArray
100% lokal

SQL-Formatierer

Formatiere SQL-Abfragen — jede Klausel auf eigener Zeile, einheitliche Einrückung und großgeschriebene Schlüsselwörter.

Eingabe
Ausgabe

SQL-Formatierer

Füge eine beliebige SQL-Abfrage ein und erhalte sie lesbar zurück: SELECT, FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY und die anderen Hauptklauseln beginnen jeweils auf einer eigenen Zeile, AND- und OR-Bedingungen setzen eingerückt darunter fort, und jede Spalte der SELECT-Liste kann eine eigene Zeile bekommen. Die Einrückung wählst du selbst — zwei Leerzeichen, vier Leerzeichen oder Tabulatoren — und du entscheidest, ob Schlüsselwörter großgeschrieben werden: das klassische SELECT/FROM/WHERE, das die Struktur auf einen Blick sichtbar macht.

Der Formatierer basiert auf einem echten Tokenizer, nicht auf einem Stapel Suchen-und-Ersetzen-Regeln. String-Literale wie 'it''s', zitierte Bezeichner aller Dialekte ("spalte", `spalte`, [spalte]) und beide Kommentarstile (-- Zeile und /* Block */) passieren Byte für Byte — ein Schlüsselwort in einem String wird nie angefasst, ein Anführungszeichen in einem Kommentar bringt nichts durcheinander. Nur Leerraum und die Groß-/Kleinschreibung der Schlüsselwörter ändern sich; die formatierte Abfrage bedeutet exakt dasselbe wie die eingefügte.

Mehrere durch Semikolons getrennte Anweisungen werden erkannt und als eigene Blöcke formatiert — praktisch für Migrationsdateien und Seed-Skripte, nicht nur für einzelne Abfragen. Bei seinen Grenzen bleibt das Tool ehrlich: tief verschachtelte Unterabfragen bleiben auf der Zeile ihrer Klausel, statt neu eingerückt zu werden.

Alles läuft lokal in deinem Browser — Abfragen mit Tabellennamen oder Produktionsdaten verlassen deinen Rechner nie. Kopiere das Ergebnis oder lade es als .txt-Datei herunter.

Häufige Fragen

Kann das Formatieren die Bedeutung meiner Abfrage ändern?
Nein. Es ändern sich nur Leerraum und die Groß-/Kleinschreibung der Schlüsselwörter. String-Literale, zitierte Bezeichner, Kommentare, Zahlen und Operatoren passieren exakt so, wie du sie geschrieben hast — die formatierte Abfrage ist semantisch identisch mit der Eingabe.
Wie werden komplexe verschachtelte Unterabfragen behandelt?
Das Tool formatiert nach bestem Bemühen. Hauptklauseln bekommen eigene Zeilen, der Inhalt von Klammern — Unterabfragen eingeschlossen — bleibt aber auf der Zeile seiner Klausel. Schlüsselwörter darin werden trotzdem großgeschrieben. Bei tiefer Verschachtelung ist das Ergebnis korrekt, aber nicht immer perfekt eingerückt.
Welche Schlüsselwörter werden großgeschrieben?
Klauseln (SELECT, FROM, WHERE, JOIN-Varianten, GROUP BY, ORDER BY, INSERT INTO, UPDATE, DELETE FROM, CREATE TABLE und mehr), logische Operatoren (AND, OR, NOT, IN, LIKE, BETWEEN) und gängige Spaltentypen. Funktionsnamen wie count() bleiben unverändert, und nichts in Strings, zitierten Bezeichnern oder Kommentaren wird je angefasst.
Kann ich mehrere Anweisungen auf einmal formatieren?
Ja. Anweisungen, die durch Semikolons auf oberster Ebene getrennt sind, werden als eigene Blöcke mit Leerzeile dazwischen formatiert. Semikolons in String-Literalen werden korrekt ignoriert.
Wird mein SQL irgendwo hochgeladen?
Nein. Das Tool läuft vollständig in deinem Browser und deine Abfragen verlassen dein Gerät nie — sicher auch für SQL mit Produktionsschemata.