SQL ist dafür bekannt, dass es einmal in Eile geschrieben und unter Druck viele Male gelesen wird. Ein konsistentes Format ist eine der kostengünstigsten Möglichkeiten, Abfragen überprüfbar, debuggbar und gemeinsam nutzbar zu machen. In diesem Leitfaden erfahren Sie, warum die Formatierung wichtig ist, welche Konventionen hinter der Groß- und Kleinschreibung von Schlüsselwörtern stehen und wann Sie zu „Minimieren“ greifen sollten.
Lesbare Abfragen führen zu besseren Codeüberprüfungen
Eine auf eine Zeile gepferchte Abfrage verbirgt ihre eigene Struktur. Wenn jede Klausel – SELECT, FROM, jeder JOIN, WHERE, GRUPPE NACH – in einer eigenen Zeile beginnt, kann ein Prüfer auf einen Blick sehen, welche Tabellen verknüpft sind, auf welchen Schlüsseln und welche Filter gelten. Durch das Einrücken der Auswahlliste und der Join-Bedingungen wird eine zweite Strukturebene hinzugefügt: Sie können die Spalten durchsuchen, ohne die gesamte Anweisung zu analysieren. Das Ergebnis sind weniger übersehene Fehler (eine vergessene Join-Bedingung ist offensichtlich, wenn ON in einer eigenen eingerückten Zeile steht) und schnellere Überprüfungen. Der Formatierer soll nur Leerzeichen und die Groß-/Kleinschreibung von erkannten Schlüsselwörtern ändern, es handelt sich jedoch um eine Textverarbeitung mit bestmöglicher Leistung und nicht um einen SQL-Parser. Überprüfen Sie daher die Ausgabe und validieren Sie wichtige Abfragen mit Ihren Datenbanktools.
Konventionen zur Groß- und Kleinschreibung von Schlüsselwörtern
Die seit langem bestehende Konvention besteht darin, SQL-Schlüsselwörter in GROSSBUCHSTABEN und Bezeichner (Tabellen, Spalten, Aliase) in Klein- oder Mischbuchstaben zu schreiben. Der Kontrast lässt das Sprachgerüst aus Ihrem Schema hervortreten. Einige Teams bevorzugen für ein weicheres Erscheinungsbild SQL ausschließlich in Kleinbuchstaben, und einige verwenden großgeschriebene Schlüsselwörter. Es gibt keine einzige richtige Wahl – was zählt, ist die Konsistenz innerhalb einer Codebasis, weshalb ein Formatierer, der überall eine Regel anwendet, so nützlich ist. Dieses Tool ordnet nur erkannte Schlüsselwörter erneut zu. Ihre Tabellen- und Spaltennamen behalten die bereits vorhandene Groß- und Kleinschreibung bei, und alles innerhalb eines String-Literals oder Kommentars wird niemals geändert.
Wann minimieren?
Minimieren – das Reduzieren einer Abfrage auf eine einzelne Zeile – ist das Gegenteil von Verschönern und hat seine Berechtigung. Wenn eine Abfrage im Quellcode der Anwendung als Zeichenfolgenkonstante, in einem JSON- oder YAML-Konfigurationswert oder in einem Shell-Einzeiler gespeichert werden muss, stören Zeilenumbrüche. Minify entfernt Formatierungs-Leerzeichen, während der Inhalt von String-Literalen intakt bleibt. Außerdem werden Kommentare gelöscht, da ein einzeiliger Kommentar (--) alles danach auskommentieren würde; Überprüfen Sie das Ergebnis und validieren Sie wichtige Abfragen mit Ihren Datenbanktools, anstatt davon auszugehen, dass jede Eingabe semantisch unverändert ist. Wenn Sie die lesbare Version wieder benötigen, fügen Sie einfach die minimierte Abfrage in die Registerkarte „Verschönern“ ein.
Ein Formatierer ist kein Validator
Es lohnt sich, sich über die Grenzen im Klaren zu sein. Dieses Tool formatiert Text – es stellt keine Verbindung zu einer Datenbank her, führt keine Abfrage aus und überprüft nicht, ob es sich um gültiges SQL handelt. Wenn Sie etwas einfügen, das nicht vollständig analysiert werden kann, wird trotzdem der Best-Effort-Abstand angewendet und die Ausgabe als Teilformat gekennzeichnet, anstatt dass sie fehlschlägt. Das macht es für den täglichen Gebrauch sicher und schnell, Sie sollten Ihre Abfrage jedoch dennoch mit einer echten Datenbank (oder einem Linter) ausführen, um die Richtigkeit zu bestätigen. Betrachten Sie die Formatierung als den ersten und kostengünstigsten Schritt beim Schreiben von sauberem SQL und nicht als das letzte Wort darüber, ob es funktioniert.