Was macht ein SQL-Formatter?
Du pastest eine lange, unformatierte SQL-Query. Du kriegst eine saubere, lesbare Query mit Einrueckung, UPPERCASE-Keywords und sinnvollem Spalten-Layout. Gleiche Idee wie Prettier fuer JavaScript, aber fuer SQL.
Du waehlst den Dialekt (PostgreSQL, MySQL, SQLite, MSSQL, BigQuery, MariaDB, Oracle), weil jede DB eigene Keywords und kleine Syntax-Eigenheiten hat. Du kannst Keyword-Case (UPPER vs. lower), Komma-Position (nach jeder Spalte oder am Anfang der naechsten Zeile) und Indent-Breite setzen.
Der Minify-Modus macht das Gegenteil: strippt Kommentare und faltet alles in eine Zeile. Praktisch, wenn du eine Query in ein Log oder String-Literal in Code pastest.
So nutzt du das Tool
- Paste deine SQL-Query ins linke Panel. Kann eine Zeile sein, ohne Einrueckung, gemischter Case, alles.
- Waehl den Dialekt deiner DB im Dropdown. Bei PostgreSQL PostgreSQL, bei MySQL/MariaDB die passende Variante.
- Keyword-Case waehlen: `UPPER` (klassisch), `lower` (bei modernen Teams beliebt) oder `preserve` (lass wie es ist).
- Komma-Position: `after` (Komma am Zeilenende, klassisch) oder `before` (am Anfang der naechsten Zeile, leichter Spalten zu adden/entfernen ohne Diff-Bruch).
- Mit Kopieren Ergebnis uebernehmen. Ins IDE, Migration-Tool oder Doku pasten.
- Der Minify-Modus kollabiert die Query auf eine Zeile. Nutz es, wenn du SQL in ein String-Literal in Code oder einzeiliges Log pasten willst.
Wann das nuetzlich ist
Typische Situationen, in denen ein SQL-Formatter Zeit spart:
- Code-Review, wo ein Kollege die Query in einer Zeile gepastet hat. Hier pasten, formatieren, in Ruhe lesen.
- DB-Migration mit Dutzenden CREATE-TABLE- und ALTER-Statements. Nach Formatierung ist die Datei bereit fuer einen sauberen PR.
- ORM-Queries debuggen (Prisma, TypeORM, Drizzle). ORMs spucken SQL in einer langen Zeile. Der Formatter zeigt, was wirklich die DB getroffen hat.
- Technische Doku, Reports, Praesentationen. Formatiertes SQL sieht professionell aus.
- SQL zwischen Dialekten portieren. Erst in einem Dialekt formatieren, dann mit unserem SQL-Dialekt-Konverter AUTO_INCREMENT zu SERIAL umtauschen und aehnliche Unterschiede.
- Minify fuer Logs oder String-Literals in Code: eine lange Zeile, keine Kommentare, bereit fuer `db.query('...')` in Node.js oder Python.
Hast du ein CREATE TABLE und willst Prisma- oder Drizzle-Schema? Nimm den SQL-zu-ORM-Konverter. Arbeitest du mit DBML (Database Markup Language)? Schau DBML zu SQL.