SQL formatieren
Fügen Sie eine Abfrage ein, wählen Sie Ihre Datenbank und erhalten Sie sie eingerückt zurück, mit einer Klausel pro Zeile.
Läuft vollständig in Ihrem Browser
- Eingabe
- 0
- Ausgabe
- 0
- Änderung
- 0%
Eingabe bis etwa 10 MB. Nur das Layout ändert sich: Ihr SQL wird weder ausgeführt noch gegen ein Schema geprüft oder optimiert.
So formatieren Sie eine SQL-Abfrage
- Fügen Sie die Abfrage in das Feld ein oder klicken Sie auf Beispiel einfügen, um zu sehen, wie es funktioniert.
- Wählen Sie Ihre Datenbank unter Dialekt und legen Sie dann die Schreibweise der Schlüsselwörter und die Einrückung fest.
- Die formatierte Abfrage erscheint während der Eingabe darunter. Kopieren Sie sie oder laden Sie sie als
.sql-Datei herunter.
SQL lesbar machen
Eine Datenbank liest eine Abfrage gleich, ob sie in einer Zeile steht oder in vierzig. Deshalb kommen Abfragen aus Logs, ORMs und Monitoring-Tools so oft als ein einziger ununterbrochener String an. Wenn Sie SQL formatieren, steht jede Hauptklausel (SELECT, FROM, WHERE, GROUP BY, ORDER BY) in einer eigenen Zeile, und Spalten, Bedingungen und Unterabfragen werden darunter eingerückt. So erkennen Sie die Struktur der Abfrage auf einen Blick und bemerken etwa eine fehlende Join-Bedingung.
Das Layout richtet sich nach dem gewählten Dialekt, denn Wörter und Symbole unterscheiden sich zwischen Datenbanken. Ein PostgreSQL-Cast wie price::numeric, ein nummerierter Parameter wie $1, ein MySQL-Name in Backticks, eine Oracle-Klausel CONNECT BY und ein SQL-Server-TOP 10 sind jeweils in einem Dialekt gültig und in einem anderen ein Syntaxfehler. Platzhalter für gebundene Parameter (?, $1, :name, @name) werden erkannt und nicht verändert.
Die Schreibweise der Schlüsselwörter hat keinen Einfluss darauf, wie eine Abfrage läuft; sie ist reine Stilfrage. Ein Formatierer, der die Grammatik versteht, kann sie gefahrlos ändern, weil er weiß, welche Wörter Schlüsselwörter sind und welche Spaltennamen oder Text in Anführungszeichen.
Tipps
- Sie vergleichen eine Abfrage vor und nach einer Änderung? Formatieren Sie beide mit denselben Einstellungen und vergleichen Sie sie mit Texte vergleichen.
- Liefert die Abfrage JSON-Spalten? Fügen Sie einen Wert in JSON formatieren und validieren ein, um ihn zu lesen.
- Sie müssen eine Tabelle in einem langen Skript umbenennen? Suchen und Ersetzen erledigt das vor dem Formatieren.
Häufige Fragen
Wird mein SQL hochgeladen?
Nein. Der Formatierungscode ist ein Skript, das von dieser Website ausgeliefert und beim ersten Einfügen einer Abfrage geladen wird; die Abfrage selbst bleibt in Ihrem Browser und wird an keinen Server gesendet.
Warum spielt der Dialekt eine Rolle?
Datenbanken bringen ihre eigene Syntax mit. PostgreSQL hat ::-Casts und $1-Parameter, SQL Server hat [bracketed]-Namen und TOP, MySQL und MariaDB setzen Namen in Backticks, und BigQuery hat eigene Formen für Arrays und Structs. Mit dem richtigen Dialekt akzeptiert der Parser Ihre Abfrage. Standard-SQL ist die sichere Wahl, wenn Sie unsicher sind, ist aber strenger bei herstellerspezifischen Extras.
Warum erhalte ich einen Fehler bei einer Abfrage, die in meiner Datenbank problemlos läuft?
Der Formatierer liest die gesamte Anweisung, statt nur Zeilen neu einzurücken. Eine nicht geschlossene Klammer oder ein nicht geschlossenes Anführungszeichen hält ihn deshalb auf, ebenso Syntax aus einem anderen Dialekt. Die Meldung nennt Zeile und Spalte, an der er aufgegeben hat, und meist hilft es, den passenden Dialekt zu wählen.
Ändert das Formatieren, was die Abfrage tut?
Nur Leerraum und, wenn Sie es wünschen, die Schreibweise der Schlüsselwörter. String-Literale, Namen in Anführungszeichen und Zahlen behalten ihren Text, sodass 'select' in Anführungszeichen kleingeschrieben bleibt, wenn Sie GROSSBUCHSTABEN wählen.
Kann ich mehrere Anweisungen auf einmal formatieren?
Ja. Durch Semikolons getrennte Anweisungen werden einzeln formatiert, mit einer Leerzeile dazwischen.
Welche Schreibweise für Schlüsselwörter sollte ich verwenden?
Beide funktionieren; es ist eine Stilfrage, und Datenbanken ignorieren sie. Großgeschriebene Schlüsselwörter sind die ältere Konvention und heben Klauseln in reinem Text hervor. Kleinschreibung ist in Codebasen üblich, die bereits einen Linter oder ORM-Ausgaben in diesem Stil verwenden. Wie eingegeben lässt Ihre Schreibweise unverändert.