Toolora

SQL Formatter

Formatieren Sie SQL-Abfragen automatisch für bessere Lesbarkeit und Wartbarkeit.

📝 SQL Eingabe

Beispiele:

⚙️ Optionen

📖 SQL Schnellreferenz

Abfragen

  • SELECT - Daten auswählen
  • WHERE - Filtern
  • ORDER BY - Sortieren
  • GROUP BY - Gruppieren
  • JOIN - Tabellen verbinden

Änderungen

  • INSERT - Einfügen
  • UPDATE - Aktualisieren
  • DELETE - Löschen
  • CREATE - Erstellen
  • ALTER - Ändern

Warum SQL formatieren?

Gut formatierter SQL-Code ist leichter zu lesen, zu debuggen und zu warten. Besonders bei komplexen Abfragen mit mehreren JOINs, Unterabfragen oder CASE-Statements ist übersichtliche Formatierung unverzichtbar.

Formatierungsregeln

Keywords in Großbuchstaben

SELECT, FROM, WHERE, JOIN, ORDER BY etc. werden groß geschrieben. Das unterscheidet sie optisch von Tabellen- und Spaltennamen.

Neue Zeile für Hauptklauseln

Jede Hauptklausel beginnt auf einer neuen Zeile:

SELECT
    spalte1,
    spalte2
FROM
    tabelle
WHERE
    bedingung = 'wert'
ORDER BY
    spalte1

Einrückung bei Unterabfragen

Unterabfragen und verschachtelte Strukturen werden eingerückt:

SELECT *
FROM kunden
WHERE id IN (
    SELECT kunde_id
    FROM bestellungen
    WHERE datum > '2024-01-01'
)

Best Practices für SQL

  • Aussagekräftige Aliase: SELECT u.name FROM users u
  • Explizite JOINs: INNER JOIN statt impliziter Joins
  • Spalten auflisten: SELECT a, b, c statt SELECT *
  • Kommentare: Bei komplexer Logik erklären

SQL-Dialekte

  • MySQL: LIMIT, IFNULL, AUTO_INCREMENT
  • PostgreSQL: LIMIT, COALESCE, SERIAL
  • SQL Server: TOP, ISNULL, IDENTITY
  • Oracle: ROWNUM, NVL, SEQUENCES
  • SQLite: LIMIT, IFNULL, AUTOINCREMENT

Beispiel: Vorher/Nachher

Unformatiert:

select k.name,k.email,count(b.id) as anzahl from kunden k left join bestellungen b on k.id=b.kunde_id where k.aktiv=1 group by k.id having count(b.id)>5 order by anzahl desc

Formatiert:

SELECT
    k.name,
    k.email,
    COUNT(b.id) AS anzahl
FROM kunden k
LEFT JOIN bestellungen b
    ON k.id = b.kunde_id
WHERE k.aktiv = 1
GROUP BY k.id
HAVING COUNT(b.id) > 5
ORDER BY anzahl DESC

Häufig gestellte Fragen

Verändert der Formatter die Abfrage?

Nein, die Logik bleibt unverändert. Es werden nur Whitespace, Zeilenumbrüche und Groß-/Kleinschreibung angepasst. Die Abfrage liefert exakt das gleiche Ergebnis.

Sollte ich auch in Produktionscode formatieren?

Ja! Formatierter Code ist besser wartbar. In vielen Teams gibt es SQL-Style-Guides. Für dynamisch generiertes SQL ist Formatierung weniger wichtig.

Gibt es Performance-Unterschiede?

Nein, Whitespace und Formatierung haben keinen Einfluss auf die Performance. Der Datenbank-Parser ignoriert Formatierung komplett.

Ähnliche Tools