2009-04-28 17 views
21

改行を含む単一の文字列であるいくつかのSQL文を、はるかに読みやすいものに再フォーマットしたいと思います。SQL文をきれいにインデントするためのアルゴリズム(Python実装はうまくいくでしょう)

SQLをインデントするための良いコーディングスタイルは個人的にはわかりません。ネストされたクエリ/句/左の結合などは、可読性を最大限にするためにどのように表現する必要がありますか?

すでにこれを行うきれいな印刷アルゴリズムを見た人はいますか? Pythonではさらに良いでしょう。

答えて

36

sqlparseを試すことができます。シンプルなSQLフォーマットを提供するPythonモジュールです。オンラインデモはhereです。

+0

これはまさに私が探していたもののようですね、ありがとう! –

+0

そのAndiのおかげで、これはかなりクールだ。 –

+0

そして、私はそれがあなたのアプリだと気付いた。 –

3

私は個人的にはJavaで書かれていて、残念なことにオープンソースではないので、基礎となるアルゴリズムへのアクセスはありません。SQL Informを個人的に使用します。

-2

それは、あなたの質問に答えるならば知っているが、私は一般的に、この戦略

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

を使用しないでください:ここでは、人々の好みを記述する2つのSOの質問がありますしかし、それは私だけです。私は適切な自動ツールが存在しないと思う。

2

私はSQLをフォーマットするためにDevartのSQL Completeを使用していましたが、現在はSQL Completeによって提供される無料のオンラインSQL美化器があります。SQL Formatter初心者の方でも機能が豊富で使いやすいです。

+0

オンラインサービスは素晴らしいアイデアです、ありがとう! – qris

関連する問題