SQL Format
Fügen Sie Ihr SQL in das Feld unten ein und nutzen Sie die verfügbaren Optionen, um es zu formatieren. SQL-Format wurde von Datenbankadministratoren nach Industrie- und Big-Tech-Standards entwickelt. Viel Spaß!
Was SQL Format ist und für wen es gedacht ist
SQL Format ist ein kostenloser Online-Formatierer, der gedrängtes, einzeiliges oder uneinheitlich eingerücktes SQL in ein sauberes, vorhersehbares Layout bringt. Jede Klausel beginnt in einer eigenen Zeile, Spaltenlisten werden mit einem Eintrag pro Zeile aufgeteilt, Joins und ihre Bedingungen werden unter der Tabelle eingerückt, zu der sie gehören, und verschachtelte Abfragen werden innerhalb ihrer Klammern eingerückt.
Es ist für Menschen gemacht, die den ganzen Tag SQL lesen: Entwickler, die einen Pull Request prüfen, DBAs, die eine aus einem Log mitgeschnittene langsame Abfrage entwirren, Analysten, die einen Bericht vor dem Teilen aufräumen, und alle, die eine 300-zeilige Anweisung geerbt haben, die in einer einzigen Zeile steht. Das Layout folgt Konventionen, die Datenbankteams seit Langem verwenden, und mit den Optionen unten können Sie es an den Stil Ihres eigenen Teams anpassen.
So verwenden Sie den Formatierer
- Fügen Sie Ihr SQL in den Editor ein oder tippen Sie es ein. Sie können mehrere Anweisungen auf einmal einfügen; sie werden an den Semikolons getrennt und nacheinander formatiert.
- Passen Sie bei Bedarf die Optionen an: Einrückungstiefe, maximale Zeilenbreite, Position der Kommas, Groß-/Kleinschreibung der Schlüsselwörter und ob öffnende Klammern in eine eigene Zeile kommen.
- Klicken Sie auf Formatieren oder drücken Sie Ctrl + Enter (⌘ + Enter auf dem Mac). Das formatierte SQL ersetzt den Text im Editor.
- Mit Kopieren legen Sie das Ergebnis in die Zwischenablage, mit Leeren fangen Sie von vorn an. Die Statusleiste zeigt die Anzahl der Zeilen und Zeichen sowie die Position Ihres Cursors.
Die Formatierungsoptionen
Fünf Optionen steuern die Ausgabe. Die Standardwerte (Einrückung mit 4 Leerzeichen, 120 Spalten, nachgestellte Kommas, Schlüsselwörter in Großbuchstaben, Klammern in derselben Zeile) passen für die meisten Teams; jede Option hat eine eigene Seite mit weiteren Beispielen.
Leerzeichen pro Einrückung
Leerzeichen pro Einrückung legt fest, wie viele Leerzeichen jede Verschachtelungsebene verwendet, ab 0 aufwärts; der Standardwert ist 4. Tabulatorzeichen in Ihrer Eingabe werden durch ebenso viele Leerzeichen ersetzt, außer innerhalb von String-Literalen und Bezeichnern in Anführungszeichen. Das Beispiel unten verwendet 2.
SELECT c.name,
SUM(o.total) AS revenue
FROM customers c
JOIN orders o
ON o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.nameMehr dazu: Option „Leerzeichen pro Einrückung“
Maximale Spaltenbreite
Maximale Spaltenbreite ist die Zeilenbreite, die der Formatierer anstrebt (Standard: 120). Lange Ausdrücke werden auf mehrere Zeilen umbrochen, um sie einzuhalten; 0 schaltet den Umbruch ab.
SELECT order_id,
quantity * unit_price * (1 - discount_rate) * (1 +
tax_rate) + shipping_fee - loyalty_credit AS
amount_due
FROM order_lines
WHERE order_id = 42Mehr dazu: Option „Maximale Spaltenbreite“
Kommas
Kommas wählt zwischen nachgestellten Kommas (nach jedem Eintrag, der Standard) und vorangestellten Kommas (am Anfang der nächsten Zeile). Vorangestellte Kommas machen es leicht, eine Spalte auszukommentieren, und erzeugen kleinere Diffs, wenn Sie am Ende eine hinzufügen.
SELECT id
,email
,country_code
,created_at
FROM customersSchlüsselwörter
Schlüsselwörter schreibt SQL-Schlüsselwörter wie SELECT, FROM und JOIN in Großbuchstaben (Standard) oder Kleinbuchstaben. Zeichenkettenliterale und Kommentare bleiben so, wie Sie sie geschrieben haben.
select id,
name
from products
where price > 100
order by nameMehr dazu: Option „Schlüsselwörter“
Klammern in neuer Zeile
Klammern in neuer Zeile verschiebt die öffnende Klammer eines Blocks, etwa einer Unterabfrage nach IN, eines CTE-Rumpfs oder einer über mehrere Zeilen aufgeteilten Liste, in eine eigene Zeile, statt sie am Ende der vorherigen Zeile zu belassen.
SELECT name
FROM customers
WHERE id IN
(
SELECT customer_id
FROM orders
WHERE total > 500
)Mehr dazu: Option „Klammern in neuer Zeile“
Welche SQL-Dialekte der Formatierer versteht
Der Formatierer ist nicht an eine einzelne Datenbank gebunden. Er verarbeitet das SQL, das die großen Datenbank-Engines gemeinsam haben: SELECT mit Joins, Unterabfragen und CASE, INSERT, UPDATE, DELETE, gängiges DDL wie CREATE TABLE und CREATE VIEW sowie Kommentare in den Formen -- und /* */, die erhalten bleiben.
Für PostgreSQL gibt es zusätzliche Unterstützung: ::-Casts, $1-Parameter und Dollar-Quoting-Rümpfe $$ … $$, deren PL/pgSQL Block für Block gegliedert wird. MySQL-Bezeichner in Backticks und SQL-Server-Bezeichner in eckigen Klammern [bracket] bleiben unverändert erhalten. Es gibt keine Dialektauswahl, daher wird sonstige Syntax, die für eine bestimmte Datenbank spezifisch ist, etwa das Batch-Trennzeichen GO von SQL Server, nicht gesondert behandelt. Die Dialekt-Leitfäden erklären die Unterschiede.
- PostgreSQL-Abfragen und PL/pgSQL formatieren
- SQL-Dialektunterschiede, die die Formatierung beeinflussen
Was mit Ihrem SQL geschieht
Wenn Sie auf Formatieren klicken, wird das SQL im Editor per HTTPS an unseren Server gesendet, im Arbeitsspeicher formatiert und direkt in der Seite zurückgegeben. Es wird weder in eine Datenbank noch in eine Datei oder ein Log geschrieben und nicht an Analyse- oder Werbepartner weitergegeben. Vermeiden Sie es trotzdem, echte Passwörter, Schlüssel oder personenbezogene Daten in irgendein Online-Tool einzufügen; Einzelheiten finden Sie auf der Datenschutzseite.
Häufig gestellte Fragen
Wird mein SQL irgendwo gespeichert?
Nein. Das SQL wird für diese eine Anfrage im Arbeitsspeicher des Servers formatiert und in der Antwort zurückgegeben. Es wird nicht in einer Datenbank, einer Datei oder einem Log gespeichert.
Kann das Formatieren verändern, was meine Abfrage tut?
Es ist so ausgelegt, dass nur Leerraum, Zeilenumbrüche und die Groß-/Kleinschreibung von Schlüsselwörtern geändert werden, niemals die Reihenfolge oder Logik Ihres SQL. Wie bei jedem Tool, das Code umschreibt, sollten Sie das Ergebnis lesen, bevor Sie es auf einer Produktionsdatenbank ausführen. Beachten Sie, dass die Schreibweise der Schlüsselwörter auch für Namen gilt, die SQL-Schlüsselwörter sind, etwa eine Spalte namens month.
Mit welchen Datenbanken funktioniert es?
Es formatiert das SQL, das PostgreSQL, MySQL, SQL Server, Oracle, Db2 und SQLite gemeinsam haben, mit zusätzlicher Behandlung von PostgreSQL-Casts, -Parametern und PL/pgSQL-Rümpfen. Es gibt keine Dialektauswahl.
Gibt es eine Größenbeschränkung?
Ja. Eine einzelne Anfrage darf bis zu 20.000 Zeilen SQL enthalten.
Kann ich mehrere Anweisungen auf einmal formatieren?
Ja. Trennen Sie sie mit Semikolons; jede Anweisung wird für sich formatiert, und die ursprüngliche Reihenfolge bleibt erhalten.
Kostet es etwas oder brauche ich ein Konto?
Nein. Der Formatierer ist kostenlos nutzbar, und es ist keine Registrierung nötig.
Alle häufig gestellten Fragen ansehen
Leitfäden und Referenzen
Über das Tool hinaus behandeln diese Leitfäden die Konventionen hinter gut lesbarem SQL:
- SQL-Styleguide
- Komplexe SQL-Abfragen formatieren
- Kommas am Zeilenanfang oder Zeilenende in SQL
- SQL für Code-Review und Versionskontrolle formatieren
- Häufige Fehler bei der Lesbarkeit von SQL
- PostgreSQL-Abfragen und PL/pgSQL formatieren
- SQL-Dialektunterschiede, die die Formatierung beeinflussen
- SQL-Checkliste vor dem Deployment einer Migration
- Optionsdokumentation: was jede Einstellung bewirkt, mit Beispielen