SQL-Formatierer
Verschönert unordentliches SQL mit einheitlicher Einrückung und Schlüsselwort-Schreibung, über die wichtigsten Dialekte.
Die Ausgabe erscheint hier
Warum SQL formatieren
SQL lässt sich leicht in einer langen Zeile schreiben und ist so mühsam zu lesen. Eine Abfrage, die aus Anwendungslogs, einem ORM oder von einer Kollegin kopiert wurde, kommt oft als durchgehende Zeichenkette mit uneinheitlicher Groß-/Kleinschreibung und ohne Einrückung an. Das Formatieren schreibt sie so um, dass jede Klausel in ihrer eigenen Zeile steht und verschachtelte Ausdrücke eingerückt sind, sodass die Form der Abfrage – was sie auswählt, wo sie verbindet, wie sie filtert – sofort sichtbar wird. Das erleichtert das Prüfen, Debuggen und Übergeben von Abfragen und macht Diffs in der Versionsverwaltung deutlich sauberer.
Das Formatieren ändert nie, was eine Abfrage tut. Es passt nur Leerzeichen und optional die Groß-/Kleinschreibung von Schlüsselwörtern an. Die zurückgegebenen Anweisungen sind gleichwertig zu denen, die du eingefügt hast.
Dialekte und warum sie wichtig sind
SQL ist eher eine Familie eng verwandter Sprachen als eine einzige. Jede Datenbank-Engine fügt eigene Schlüsselwörter, Funktionen und Syntax über den Standard hinaus hinzu. Den Dialekt zu wählen, der zu deiner Datenbank passt, hilft dem Formatierer, diese engine-spezifischen Konstrukte zu erkennen und korrekt anzuordnen. Dieses Werkzeug unterstützt:
- Standard SQL – ein guter Standard für portable Abfragen.
- PostgreSQL – Postgres-spezifische Syntax und Funktionen.
- MySQL – einschließlich MySQL- und MariaDB-Konventionen.
- SQL Server (T-SQL) – Microsoft SQL Server.
- BigQuery – Google BigQuery Standard SQL.
- SQLite – die eingebettete Datenbank, weit verbreitet auf Mobilgeräten und in Apps.
- Oracle (PL/SQL) – Oracle Database.
Konventionen zur Schlüsselwort-Schreibung
Eine langjährige Konvention schreibt SQL-Schlüsselwörter (SELECT, FROM, WHERE, JOIN) in Großbuchstaben und Bezeichner (Tabellen- und Spaltennamen) in Kleinbuchstaben, damit die strukturellen Wörter sich von deinen Daten abheben. Der Schlüsselwort-Schreibungsregler lässt dich das mit einem Klick durchsetzen:
- UPPER – Schlüsselwörter in Großbuchstaben, der häufigste Hausstil.
- lower – Schlüsselwörter in Kleinbuchstaben, von manchen Teams und Styleguides bevorzugt.
- Preserve – lässt die Schreibung genau so, wie du sie geschrieben hast.
Der Einrückungsregler (2 Leerzeichen, 4 Leerzeichen oder Tab) legt fest, wie tief verschachtelte Klauseln und Unterabfragen eingerückt werden, damit es zum bestehenden Stil deines Teams passt.
Tipps für lesbares SQL
- Formatiere vor dem Code-Review – eine einheitlich angeordnete Abfrage ist für Prüfende viel leichter nachzuvollziehen.
- Wähle eine Schlüsselwort-Schreibung und bleibe in deiner gesamten Codebasis dabei, für einheitliche Diffs.
- Verwende den Dialekt, der zur Produktion passt, damit engine-spezifische Syntax nicht verstümmelt wird.
- Formatieren ist ein sicherer, mechanischer Schritt: Da es nie das Verhalten ändert, kannst du es frei auf Abfragen anwenden, die du noch nicht ganz verstehst.
Häufig gestellte Fragen
- Welche SQL-Dialekte werden unterstützt?
- Standard SQL sowie PostgreSQL, MySQL, SQL Server (T-SQL), BigQuery, SQLite und Oracle (PL/SQL). Wähle den, der zu deiner Datenbank passt, damit dialektspezifische Syntax korrekt formatiert wird.
- Ändert das Formatieren, was meine Abfrage tut?
- Nein. Formatieren passt nur Leerzeichen und, wenn du willst, die Schlüsselwort-Schreibung an. Die Logik und die Ergebnisse der Abfrage ändern sich nicht.
- Wird mein SQL an einen Server gesendet?
- Nein. Das Formatieren läuft vollständig in deinem Browser. Nichts, was du einfügst, wird hochgeladen, daher ist es sicher, Abfragen zu formatieren, die auf sensibles Schema oder sensible Daten verweisen.
- Warum zeigt es einen Fehler statt zu formatieren?
- Der Formatierer parst dein SQL zuerst, daher kann wirklich fehlerhafte Syntax – unausgeglichene Klammern, unvollständige Anweisungen – nicht angeordnet werden und wird stattdessen gemeldet. Korrigiere die Syntax und formatiere erneut.
- Kann es mehrere Anweisungen auf einmal formatieren?
- Ja. Füge mehrere durch Semikolons getrennte Anweisungen ein, und jede wird der Reihe nach formatiert.
- Schreibt es meine Tabellen- und Spaltennamen groß?
- Nein. Die Schlüsselwort-Schreibungsoption betrifft nur reservierte SQL-Schlüsselwörter. Deine Bezeichner – Tabellennamen, Spaltennamen und Aliase – bleiben genau so, wie du sie geschrieben hast.