SQL Formatter

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand SQL Formatter

Dieser Formatierer setzt jede SQL-Klausel in eine eigene Zeile, schreibt reservierte Wörter groß und rückt die Bedingungen unter WHERE ein.

How it works

Er arbeitet auf dem Text und parst die Abfrage nicht: Leerraum wird zusammengefasst, Schlüsselwörter aus einer festen Liste werden großgeschrieben, vor jeder wichtigen Klausel wird ein Zeilenumbruch eingefügt – SELECT, FROM, die JOIN-Familie, WHERE, GROUP BY, ORDER BY und die übrigen –, und Zeilen, die mit AND, OR oder NOT beginnen, werden unter die Klausel eingerückt, zu der sie gehören. Längere Schlüsselwörter werden vor kürzeren erkannt, damit LEFT JOIN unversehrt bleibt statt bei JOIN umzubrechen.

When to use it

  • Eine lange Abfrage lesen, die aus einem ORM-Log oder einem Slow-Query-Log stammt.
  • Eine Abfrage für einen Pull Request formatieren, damit die Prüfenden den Joins folgen können.
  • Die Join-Reihenfolge in einer geerbten Abfrage sichtbar machen, bevor Sie sie ändern.
  • Die Groß- und Kleinschreibung der Schlüsselwörter über eine Datei hinweg vereinheitlichen, an der mehrere Personen geschrieben haben.

Watch out for

  • Zeichenkettenliterale werden nicht geschützt. Weil der Durchlauf textuell ist, wird auch ein Schlüsselwort in Anführungszeichen umgeschrieben: WHERE note = 'select one' kommt mit großgeschriebenem SELECT und einem Zeilenumbruch mitten in der Zeichenkette zurück. Lesen Sie die Ausgabe, bevor Sie eine Abfrage mit zitiertem Text ausführen.
  • Formatieren ist keine Validierung. Eine Abfrage mit einem Syntaxfehler wird sauber formatiert und scheitert dennoch, sobald die Datenbank sie parst.
  • Dialektsyntax wird durchgereicht, aber nicht verstanden. PostgreSQL-Funktionsrümpfe mit $, Blöcke von Stored Procedures und herstellerspezifische Anweisungen können so über Zeilen verteilt werden, dass sie sich schlecht lesen, auch wenn sie weiterhin laufen.

Not the right tool for: Zu beurteilen, ob eine Abfrage korrekt oder schnell ist. Führen Sie EXPLAIN gegen die echte Datenbank aus – der Formatierer weiß nichts über Ihre Tabellen.

Frequently Asked Questions

Wie formatiert man eine SQL-Abfrage?

Fügen Sie Ihr SQL in die Eingabe ein und klicken Sie auf Formatieren. Das Tool schreibt reservierte Schlüsselwörter groß (SELECT, FROM, WHERE, JOIN), rückt verschachtelte Abfragen sauber ein und setzt jede wichtige Klausel in eine eigene Zeile. Unterstützt werden die Dialekte von MySQL, PostgreSQL, SQLite und SQL Server.

Funktioniert das mit Stored Procedures und CTEs?

Ja – der Formatierer verarbeitet SQL aus mehreren Anweisungen, darunter CTEs (WITH ... AS), Stored Procedures, Trigger und Unterabfragen. Jede Klausel erhält ihre eigene Zeile, mit einheitlicher Einrückung für verschachtelte SELECT-Anweisungen.

Kann ich SQL minifizieren?

Ja – wechseln Sie in den Minify-Modus, um die Abfrage mit minimalem Leerraum auf eine einzige Zeile zusammenzuklappen. Nützlich, um SQL in Konfigurationsdateien einzubetten, Log-Rauschen zu verringern oder Abfragen in Inline-Zeichenketten im Anwendungscode unterzubringen.

How to Use SQL Formatter

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.