SQL-Formatter und Minifier
SQL übersichtlich formatieren, mit jeder Klausel in einer eigenen Zeile, oder in eine Zeile minifizieren, für MySQL, PostgreSQL, SQLite, SQL Server und BigQuery.
Codebeispiele
Kopieren Sie diese Beispiele in Ihr eigenes Projekt. Sie verwenden nur die Standardbibliothek der Sprache, es muss also nichts installiert werden.
const sql = 'SELECT\n name,\n email\nFROM\n users\nWHERE\n active = 1'
console.log(sql.replace(/\s+/g, ' ').trim())Was es tut
Formatiert SQL so, dass jede Klausel in einer eigenen Zeile steht, oder presst es in eine Zeile. Es liest MySQL, PostgreSQL, SQLite, T-SQL (SQL Server) und BigQuery sowie Standard-SQL, und ein Syntaxfehler kommt mit Zeile und Spalte.
So benutzt du es
- Füge SQL ein oder ziehe eine
.sql-Datei hinein. - Wähle Formatieren oder Minifizieren, dann den Dialekt, die Schreibweise der Schlüsselwörter und die Einrückung.
- Kopiere das Ergebnis oder lade es herunter, oder nutze Ausgabe als Eingabe verwenden, um es zur nächsten Eingabe zu machen.
Beispiele
Beim Formatieren von select id,name from users where active=1 stehen SELECT, FROM und WHERE in eigenen Zeilen, die Spalten und Bedingungen eingerückt darunter. Das formatierte Ergebnis zu minifizieren ergibt SELECT id,name FROM users WHERE active = 1.
Gut zu wissen
- Nur Leerraum und, wenn du es wählst, die Schreibweise der Schlüsselwörter ändern sich. Namen, Strings und Zahlen bleiben wie eingegeben.
- Minifizieren entfernt
--- und/* */-Kommentare, behält aber MySQL-Kommentare/*! */und Optimizer-Hinweise/*+ */, auf die eine Datenbank reagiert. - Wähle den Dialekt deiner Datenbank: Backticks sind MySQL, eckige Klammern sind T-SQL und
::-Casts sind PostgreSQL. - Der Formatter wird beim ersten Formatieren geladen, das erste Ergebnis kann also einen Moment dauern. Minifizieren braucht keinen Download.
Warum ist der Dialekt wichtig?
Datenbanken schreiben Namen und Operatoren unterschiedlich: MySQL setzt Namen in Backticks, T-SQL in eckige Klammern, und PostgreSQL kennt ::-Casts und $$-Strings. Mit dem falschen Dialekt kann gültiges SQL nicht gelesen oder seltsam formatiert werden.
Häufige Fragen
Ändert das Formatieren, was meine Abfrage tut?
Nein. Nur Leerraum und, wenn du es wählst, die Groß- und Kleinschreibung der Schlüsselwörter ändern sich. Namen, Strings und Zahlen bleiben, wie du sie eingegeben hast. Minifizieren entfernt Kommentare, außer den MySQL-Varianten /*! */ und /*+ */, auf die die Datenbank reagiert.
Warum wird ein Syntaxfehler gemeldet?
Der Formatter muss die Abfrage lesen, um sie zu gestalten. Er hält deshalb am ersten Token an, das er nicht lesen kann, und nennt Zeile und Spalte. Prüfe zuerst den Dialekt und dann die genannte Stelle: ein fehlendes Komma, Anführungszeichen oder eine schließende Klammer.
Sendet dieses Werkzeug mein SQL irgendwohin?
Nein. Alles passiert in deinem Browser. Was du eingibst, wird nie an unsere Server gesendet.