SQLShellはOracle/MySQL/PostgreSQL/SQLite/AccessのDB操作を行う統括フロントエンド。

SQLShellはJava製のオープンソース・ソフトウェア。システム開発をしていると様々なデータベースに触る機会がある。エンタープライズであればOracle、もう少し軽量なシステムであればPostgreSQL、個人やWeb系のシステムであればMySQLやSQLiteといった具合だ。


DB情報

それぞれのシステムで専用のフロントエンドを備えている。だがツールごとに立ち上げ方が違っていたり、操作方法が異なるのは覚えるのも面倒になってしまう。それらを統合してくれるのがSQLShellだ。

SQLShellはJDBCが対応しているデータベースに対して接続し、SQLを実行できるソフトウェアだ。もちろんSQLには各DBごとに方言はあるが、ツールの入り口としてSQLShellが統括してくれるのは便利だ。また、「.show tables」といった専用コマンドでテーブル一覧を作ってくれる機能がある。


SQL実行

接続設定はファイルに残しておけるので複数のDB接続を切り替えたりするのも簡単になる。SQL EchoをOffにすることもできるのでバッチ処理にも利用できる。.captureを使えばSQL結果をそのままファイルに残せたりと便利な機能もある。複数のDB環境下でツールを切り替えていた人はSQLShellを触ってみよう。

MOONGIFTはこう見る

データベースによって異なる方言は切り替えた時に悩まされる機能だ。O/Rマッパーを使えば吸収できるものも多いが、日付のフォーマットや集計関数などでうまくいかないこともある。生のSQLを記述するフロントエンドになれば特にそう感じるはずだ。

SQLShellはJava製なので、Windows/Mac OSX/Linuxと幅広く利用できる。その上DB接続周りをラッピングしてくれるので、一つあれば大抵のDB接続は問題なくなるだろう。チームで接続情報を共有しておきたい時にも役立つ。各JDBCドライバは別途用意する必要があるのが難点だが、一度使い方に慣れてしまうと手放せなくなりそうだ。

SQLShell, a cross-platform, cross-database SQL command tool