SQL-Formatierer

SQL (Structured Query Language) ist die Standardsprache für relationale Datenbanken. Dieses Tool formatiert SQL-Abfragen mit korrekter Einrückung, wandelt Schlüsselwörter in Großbuchstaben um und strukturiert komplexe Abfragen für bessere Lesbarkeit. Unterstützt gängige SQL-Dialekte.

Spezifikationen

Haeufige Anwendungsfaelle

  • Minimiertes SQL aus Logs oder ORM-Ausgaben formatieren
  • Komplexe Abfragen für Code-Reviews lesbar machen
  • SQL für Dokumentation vorbereiten
  • Bestehende Abfragen debuggen und verstehen

Funktionen

  • SQL mit konsistenter Einrückung formatiert ausgeben
  • SQL-Schlüsselwörter in Großbuchstaben umwandeln (SELECT, FROM, WHERE usw.)
  • Komplexe JOINs und Unterabfragen formatieren
  • CTEs (Common Table Expressions) mit WITH verarbeiten
  • Unterstützung für Window-Funktionen
  • 6 SQL-Dialekte unterstützt (Standard, PostgreSQL, MySQL, MariaDB, SQLite, T-SQL)
  • Tabellennamen-Extraktion
  • Umschaltung zur minimierten Ansicht
  • Größeneinsparung anzeigen (Original vs. minimiert)

Beispiele

Komplexe Abfrage mit JOIN

Ausprobieren →

Eine Abfrage mit Aggregation, Join und Sortierung.

SELECT
  u.id,
  u.name,
  COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.active = true
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 5
ORDER BY order_count DESC

Tipps

  • Formatieren Sie Abfragen vor dem Commit in die Versionskontrolle.
  • Großgeschriebene Schlüsselwörter verbessern die Lesbarkeit, sind aber von SQL nicht vorgeschrieben.
  • Unterabfragen sollten der Übersichtlichkeit halber eingerückt werden.

Verstaendnis SQL-Formatierer

SQL (Structured Query Language) ist seit den 1970er Jahren die Standardsprache für relationale Datenbanken. Sie bietet eine deklarative Syntax zum Abfragen, Bearbeiten und Verwalten von Daten in Datenbanksystemen wie PostgreSQL, MySQL, SQLite, SQL Server und Oracle. Obwohl jede Datenbank proprietäre Erweiterungen hinzufügt, ist die Kernsprache bemerkenswert konsistent.

SQL-Anweisungen fallen in mehrere Kategorien. Data Manipulation Language (DML) umfasst SELECT, INSERT, UPDATE und DELETE zum Lesen und Ändern von Daten. Data Definition Language (DDL) umfasst CREATE, ALTER und DROP zur Verwaltung von Datenbankobjekten. Data Control Language (DCL) behandelt Berechtigungen mit GRANT und REVOKE. Modernes SQL unterstützt auch Common Table Expressions (CTEs) mit WITH-Klauseln, Window-Funktionen für Analytik und JSON-Operationen für semi-strukturierte Daten.

Die Formatierung von SQL ist für Lesbarkeit und Wartbarkeit unerlässlich. Eine komplexe Abfrage mit Joins, Unterabfragen und Aggregationen kann unverständlich werden, wenn sie auf eine einzelne Zeile komprimiert wird — was häufig bei ORM-generierten Abfragen, Anwendungsprotokollen und Datenbanküberwachungstools vorkommt. Konsistente Formatierung mit großgeschriebenen Schlüsselwörtern, korrekter Einrückung und ausgerichteten Klauseln macht Abfragen leichter zu überprüfen, zu debuggen und zu optimieren.

SQL-Formatierung unterstützt auch die Leistungsanalyse. Gut formatierte Abfragen machen es einfacher, fehlende Indizes zu identifizieren (indem man sieht, welche Spalten in WHERE- und JOIN-Bedingungen vorkommen), unnötige Unterabfragen zu erkennen, die als Joins umgeschrieben werden könnten, und den logischen Fluss komplexer Abfragen mit CTEs und Window-Funktionen zu verstehen.

SQL ist bei Schlüsselwörtern nicht groß-/kleinschreibungsempfindlich, sodass SELECT und select von der Datenbank-Engine identisch behandelt werden. Großgeschriebene Schlüsselwörter (SELECT, FROM, WHERE, JOIN) sind eine weit verbreitete Konvention, die die Lesbarkeit verbessert, indem SQL-Schlüsselwörter visuell von Tabellen- und Spaltennamen unterschieden werden. Die meisten Formatierer und Stilrichtlinien empfehlen aus diesem Grund großgeschriebene Schlüsselwörter.

Ein Common Table Expression (CTE) ist eine benannte temporäre Ergebnismenge, die mit dem WITH-Schlüsselwort definiert wird und für die Dauer einer einzelnen Abfrage existiert. CTEs verbessern die Lesbarkeit, indem sie komplexe Abfragen in benannte Schritte aufteilen und tief verschachtelte Unterabfragen durch eine sequenzielle, von oben nach unten lesbare Struktur ersetzen. Rekursive CTEs erweitern diese Fähigkeit, um hierarchische Daten wie Organigramme oder verschachtelte Kommentare zu durchlaufen.

Die grundlegende SQL-Syntax (SELECT, JOIN, WHERE, GROUP BY) ist über Datenbankdialekte hinweg konsistent, aber Unterschiede treten bei proprietären Funktionen auf. MySQL verwendet Backticks zum Quoten von Bezeichnern, PostgreSQL verwendet doppelte Anführungszeichen und SQL Server verwendet eckige Klammern. Funktionen, Datentypen und erweiterte Funktionen wie LATERAL-Joins, MERGE und UPSERT variieren ebenfalls je nach Dialekt. Dieser Formatierer verarbeitet Standard-SQL-Syntax, die in allen gängigen Datenbanken funktioniert.

← Zurueck zu allen Tools