Ratgeber

SQL formatieren: Abfragen sauber einrücken und lesbar machen

Fügen Sie Ihren SQL-Text ein, wählen Sie bei Bedarf die Einrückung und starten Sie die Formatierung. Das Tool strukturiert erkannten SQL-Text neu und schreibt SQL-Schlüsselwörter groß, führt die Abfrage aber nicht aus.

Tool SQL Formatter

SQL-Abfragen übersichtlich formatieren

SQL Formatter eignet sich, wenn eine SQL-Abfrage schwer lesbar ist, weil Einrückungen fehlen oder SQL-Schlüsselwörter uneinheitlich geschrieben sind. Das Tool nimmt SQL-Text entgegen, strukturiert ihn durch neue Einrückungen und schreibt SQL-Schlüsselwörter in Großbuchstaben. Es formatiert den Text, führt die Abfrage jedoch nicht aus und prüft keine Ergebnisse. [Entfernen Sie zunächst überflüssige Leerzeichen oder Zeilenumbrüche nur dann, wenn Sie die ursprüngliche Darstellung nicht benötigen.]

Die Eingabe ist optional. Ohne SQL-Text entsteht ein leerer formatierter Wert. Für eine normale Formatierung können Sie eine Einrückung festlegen; der Standardwert beträgt zwei Zeichen. Ein allgemeiner Dialektwert kann ebenfalls angegeben werden, steuert die Formatierung aber nicht nach bestimmten SQL-Dialekten.

SQL-Text in fünf Schritten formatieren

  1. SQL-Text einfügen: Tragen Sie die Abfrage als Text in das SQL-Eingabefeld ein. Der Wert muss eine Zeichenkette sein. Leerer oder ausschließlich aus Leerraum bestehender Inhalt wird anders behandelt als eine ausgefüllte Abfrage.

  2. Einrückung festlegen: Verwenden Sie für nicht leeren SQL-Text eine Zahl für die Einrückung. Der Standardwert ist 2. Werte von 0 bis 8 werden verwendet. Wird die Eingabe nicht als Zahl erkannt oder liegt der umgewandelte Wert außerhalb dieses Bereichs, fällt die Formatierung auf 2 zurück. Bei einer ausschließlich aus Leerraum bestehenden Eingabe erfolgt diese Umwandlung nicht.

  3. Dialektfeld nur bei Bedarf ausfüllen: Sie können einen allgemeinen Dialektwert übergeben. Die gezeigte Formatierung wendet daran jedoch keine dialektspezifischen Regeln an. Wählen Sie den Wert daher nicht als Zusicherung, dass Besonderheiten eines bestimmten Datenbanksystems geprüft werden.

  4. Formatierung starten: Lassen Sie die Eingabe verarbeiten. Bei erfolgreichem Parsen werden die SQL-Schlüsselwörter großgeschrieben und der Text neu eingerückt. Mehrere erkannte Anweisungen werden mit einem Semikolon und einem Zeilenumbruch verbunden; am Ende steht ein abschließendes Semikolon.

  5. Ausgabe übernehmen: Prüfen Sie die formatierte Darstellung anschließend gegen Ihre Ausgangsabfrage. Das Tool liefert formatierten SQL-Text, führt ihn aber nicht gegen eine Datenbank aus.

Ausgabe und Fehlersituationen verstehen

Eine erfolgreiche Ausgabe zeigt die neu eingerückte Form des erkannten SQL-Texts und großgeschriebene SQL-Schlüsselwörter. Bei mehreren erkannten Anweisungen achten Sie auf die Trennung durch Semikolon und Zeilenumbruch sowie auf das abschließende Semikolon. Das Ergebnis ist eine Darstellung des eingegebenen SQL-Texts, kein Ausführungs- oder Ergebnisprotokoll.

Bleibt die Ausgabe leer, kann das bei einer Eingabe aus Leerraum erwartbar sein. Bei nicht leerem Inhalt kann die Verarbeitung dagegen scheitern, wenn keine SQL-Anweisung erkannt wird, die Parsing-Bibliothek nicht verfügbar ist oder während des Parsens beziehungsweise Formatierens ein Fehler auftritt.

Beachten Sie außerdem die Größen- und Typgrenzen: Nicht leerer SQL-Text mit mehr als 1.000.000 UTF-8-Bytes wird vor der Formatierung abgelehnt, und ein Wert, der keine Zeichenkette ist, wird zurückgewiesen.

Praktisches Beispiel

Eine Entwicklerin möchte eine unübersichtlich eingerückte SELECT-Abfrage vor einer Codeprüfung lesbarer darstellen.

Fügen Sie beispielsweise die einzeilige Abfrage select id, name from users where active = 1 order by name ein und setzen Sie die Einrückung auf 4. Starten Sie anschließend die Formatierung und prüfen Sie die Struktur der Ausgabe.

Die Ausgabe enthält den erkannten SQL-Text mit neuer Einrückung, großgeschriebenen SQL-Schlüsselwörtern und einem abschließenden Semikolon. Für die Eingabe lautet das Ergebnis:

SELECT id,
       name
FROM users
WHERE active = 1
ORDER BY name;

Einschränkungen

  • Das Dialektfeld löst keine dialektspezifische Formatierung aus. Die Funktion formatiert SQL-Text und führt keine Abfrage aus.

Häufige Fehler

  • Fehler: Ein spezifischer Datenbankdialekt wird ausgewählt und anschließend eine dialektspezifische Formatierung erwartet. Korrektur: Behandeln Sie das Dialektfeld als akzeptierte Eingabe, nicht als Auswahl eigener Parsing- oder Formatierungsregeln.

Häufige Fragen

Was passiert bei einer leeren SQL-Eingabe?

Ja, sofern die Eingabe ausschließlich aus Leerraum besteht: Sie wird akzeptiert und erzeugt ein leeres formatiertes Ergebnis. Für nicht leeren Inhalt kann die Formatierung bei Parsing-Problemen oder fehlenden erkannten SQL-Anweisungen scheitern.

Kann ich einen SQL-Dialekt auswählen?

Ja, aber nur als allgemeiner Eingabewert. Die gezeigte Implementierung wendet keine dialektspezifischen Parsing- oder Formatierungsregeln an.

Welche Einrückung kann ich festlegen?

Bei nicht leerem SQL-Text werden Werte von 0 bis 8 verwendet. Nicht umwandelbare Werte sowie Werte unter 0 oder über 8 fallen auf 2 zurück. Bei einer reinen Leerraumeingabe wird diese Umwandlung übersprungen.

Tool

SQL Formatter