1092552_86239928

Microsoft社から提供されているデーターベースソフトのAccessには「クエリ」という機能が付いています。GUI操作でSQL文を生成してくれる機能でデーターベース初心者でも簡単にSQL文を書くことができます。

ただ、Accessで作ったSQL文は全てが1行で生成されるため、初めての人が見ると英数字の文字列が並んでいて何が何だかわからないでしょう。データーベースに慣れている人でも1文で書かれているとその内容が何であるかはなかなか解読できません。

そんなズラズラと書かれたSQL文をHTMLとJavaScriptで読みやすい形に整形してくれるツール(HTMLとJavaScriptなので「ツール」といっていいのかわかりませんが)がありましたので、下記に紹介します。

HTMLとJavaScriptでSQL文を整形してくれるツールというのはDML Breakerです。

DML Breaker

使用方法は簡単で、ダウンロードしたファイルを解凍し、中にあるDMLBreaker.htmlファイルをブラウザで開きます。左側のテキストエリアに整形したいSQLを貼り付けて、「整形」ボタンを押すと右側のテキストエリアに整形されたSQL文が表示されます。

例えば下記のようなSQL文を整形させると

SELECT A.COUNT_TOTAL,B.COUNT_TODAY,C.COUNT_YESTERDAY FROM (SELECT COUNT(*) AS COUNT_TOTAL FROM TEST_LOG WHERE ID = '123' AND ACCESSDATE > DATE 'TODAY' - INTEGER '90') AS A, (SELECT COUNT(*) AS COUNT_TODAY FROM TEST_LOG WHERE ID = '123' AND ACCESSDATE >= 'TODAY') AS B, (SELECT COUNT(*) AS COUNT_YESTERDAY FROM TEST_LOG WHERE ID = '123' AND (ACCESSDATE >= 'YESTERDAY' AND ACCESSDATE < 'TODAY')) AS C
SELECT

    A.COUNT_TOTAL,

    B.COUNT_TODAY,

    C.COUNT_YESTERDAY

FROM

    (

        SELECT

            COUNT(*) AS COUNT_TOTAL

        FROM

            TEST_LOG

        WHERE

                ID = '123'

            AND ACCESSDATE > DATE 'TODAY' - INTEGER '90'

    ) AS A,

    (

        SELECT

            COUNT(*) AS COUNT_TODAY

        FROM

            TEST_LOG

        WHERE

                ID = '123'

            AND ACCESSDATE >= 'TODAY'

    ) AS B,

    (

        SELECT

            COUNT(*) AS COUNT_YESTERDAY

        FROM

            TEST_LOG

        WHERE

                ID = '123'

            AND (ACCESSDATE >= 'YESTERDAY'

            AND ACCESSDATE < 'TODAY')

    ) AS C

と、この様に整形されます。

ちょっとしたSQL文なら手動で整形した方が早いかもしれませんが、長いSQLを整形させるなら、この様な軽量ツールを使用した方がかなり便利じゃないかと思います。

SQL整形ツール-DML Breaker

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)

著者/訳者:ミック

出版社:翔泳社( 2008-02-07 )

定価:

Amazon価格:¥ 2,592

単行本(ソフトカバー) ( 320 ページ )

ISBN-10 : 4798115169

ISBN-13 : 9784798115160