SQL-Formatierer
Wandle unordentliches SQL in saubere, lesbare Abfragen um.
Läuft in deinem Browser. Nichts, was du eingibst, wird irgendwohin gesendet.
- 6 SQL-Dialekte
- Groß- oder Kleinschreibung
- Nichts wird hochgeladen
So formatierst du SQL
- Füg deine SQL-Abfrage ein.
- Wähl Dialekt, Schreibweise der Schlüsselwörter und Einrückungsgröße.
- Kopiere oder lade das formatierte SQL herunter.
Dialektunterschiede, die berücksichtigt werden
| Dialekt | Besonderheit |
|---|---|
| MySQL | Bezeichner in Backticks |
| PostgreSQL | Bezeichner in doppelten Anführungszeichen und ::-Typumwandlungen |
| SQL Server | Bezeichner in eckigen Klammern und TOP statt LIMIT |
| SQLite | Nachsichtigere Regeln für Anführungszeichen |
| BigQuery | Tabellenpfade in Backticks wie project.dataset.table |
| Standard-SQL | Bezeichner im ANSI-Stil mit doppelten Anführungszeichen, das Standardziel |
Was Formatieren ändert und was es in Ruhe lässt
- Ändert sich: Schreibweise der Schlüsselwörter, Einrückung von Klauseln und Joins, und wo Zeilenumbrüche vor SELECT, FROM, WHERE und JOIN fallen.
- Bleibt erhalten: Tabellen- und Spaltennamen, der Inhalt von String-Literalen und alle Kommentare in der Abfrage.
- Kommentare mit -- oder in /* */ bleiben genau dort, wo sie waren, an derselben Zeile oder demselben Block.
Tipps zum Formatieren von SQL
- Füg mehrere durch Semikolons getrennte Anweisungen ein, jede wird an Ort und Stelle formatiert.
- Wähl den Dialekt, den deine Datenbank tatsächlich nutzt, damit die Bezeichner-Anführungszeichen in der Ausgabe zu deinem Server passen.
- Verursacht der Anführungszeichenstil eines Dialekts einen Fehler in deiner Datenbank, probier Standard-SQL und pass Bezeichner von Hand an.
- Eine größere Einrückungsgröße kann eine lange Abfrage mit vielen Joins leichter überschaubar machen, da jede Verschachtelungsebene stärker heraussticht.
Häufige Fragen zu SQL-Formatierer
Welche SQL-Dialekte werden unterstützt?
Standard-SQL, MySQL, PostgreSQL, SQL Server, SQLite und BigQuery. Jeder behandelt Anführungszeichen und Funktionen leicht anders.
Prüft das, ob mein SQL korrekt ist?
Nein. Es formatiert die Abfrage für bessere Lesbarkeit um. Es verbindet sich nicht mit einer Datenbank und prüft keine Tabellen- oder Spaltennamen.
Kann ich eine ganze Datei mit Abfragen auf einmal formatieren?
Ja. Füg mehrere durch Semikolons getrennte Anweisungen ein, und jede wird an Ort und Stelle formatiert.
Was steuert die Einrückungsgröße?
Sie legt fest, wie viele Leerzeichen jede Verschachtelungsebene bekommt, von 2 für kompakte Abfragen bis 8 für tief verschachtelte Joins und Unterabfragen.
Wird mein SQL irgendwohin hochgeladen?
Nein. Das Formatieren passiert in deinem Browser, deine Abfragen und alle darin enthaltenen Daten bleiben also auf deinem Gerät.
Ordnet Formatieren meine Abfrage neu an?
Nein. Klauseln, Joins und Unterabfragen bleiben in der Reihenfolge, in der du sie geschrieben hast. Nur Einrückung, Zeilenumbrüche und Groß-/Kleinschreibung der Schlüsselwörter ändern sich.
Kann es gespeicherte Prozeduren oder Skripte mit Variablen formatieren?
Reine SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen formatieren gut. Dialektspezifische prozedurale Syntax, wie T-SQL-Kontrollfluss oder PL/pgSQL-Blöcke, wird eventuell nicht so sauber eingerückt, da der Formatierer auf Standard-Abfragesyntax zielt.
Kommt es mit CTEs (WITH-Klauseln) und Fensterfunktionen klar?
Ja. Common Table Expressions und Fensterfunktionen werden genau wie jede andere Syntax formatiert, die die zugrunde liegende sql-formatter-Bibliothek versteht, samt ihrer eigenen Einrückung.