2009-04-28 6 views
21

Ich möchte einige SQL-Anweisungen, die eine einzelne Zeichenfolge mit Zeilenumbrüchen in etwas, das viel einfacher zu lesen ist, neu formatieren.Algorithmus zum sauberen Einrücken von SQL-Anweisungen (Python-Implementierung wäre nett)

Ich persönlich kenne keinen guten Codierungsstil zum Einrücken von SQL - wie sollten verschachtelte Abfragen/where-Klauseln/links Joins/etc dargestellt werden, um die Lesbarkeit zu maximieren?

Hat jemand einen hübschen Druckalgorithmus gesehen, der das schon macht? In Python wäre es sogar noch besser.

Antwort

36

Sie können versuchen sqlparse. Es ist ein Python-Modul, das einfache SQL-Formatierung bietet. Eine Online-Demo ist verfügbar here.

+0

Das sieht genau so aus, was ich gesucht habe, danke! –

+0

Danke für das Andi, das sieht ziemlich cool aus. –

+0

Und ich habe gerade bemerkt, dass es deine App ist. –

3

Ich persönlich benutze SQL Inform für schnelle SQL-Formatierung, die in Java geschrieben ist und ist leider nicht Open Source, so dass es keinen Zugriff auf den zugrunde liegenden Algorithmus gibt.

-2

Sie nicht wissen, ob es Ihre Frage beantwortet, aber ich verwenden in der Regel diese Strategie

SELECT what1, what2, etc, 
FROM table 
WHERE condition 
    AND condition 
    AND condition 
ORDER BY whatever 

Aber das bin nur ich. Ich denke nicht, dass es automatische Tools gibt.

2

Ich habe zuvor SQL Complete von Devart für die Formatierung von SQL verwendet, aber jetzt gibt es eine kostenlose Online SQL Beautifier von SQL Complete - SQL Formatter es ist wirklich funktionsreich und einfach zu bedienen, auch für einen Anfänger.

+0

Ein Online-Service ist eine großartige Idee, danke! – qris