H2を使っている人はJava開発環境なので、あまり人気があるDBとは言えないけれど他のDBとの互換性が高く、それなりに速度も速いし個人的には取扱いやすいので好んで使ってます。
H2databaseのコンソール(H2コンソール)の使用方法を良く忘れるので備忘録として残しておきます。
H2を使うメリット
・組み込みモードとサーバモードの両方をサポートしている
・性能はSQLiteと比べれば劣るようであるがDerbyよりは早い(らしい)
・「Pure Java」で書かれているのので基本的にJava(JVM)が動作する環境であれば動くのとバイナリサイズが小さいので組み込み用途に最適
・特にDropwizard、SpringBoot、PlayFramework等のJava系フレームワークとの相性はすごく良いと思う
・GUI(Web)のコンソールが標準で用意されている(※今回の説明する使い方はこれ)
・他のDB(PostgreSQL等)と互換性が結構高い(SQLiteと違って日付型とかちゃんとある)
準備
組み込みモードでH2に接続しているアプリケーションが起動している場合は停止する
コンソール起動
$ java -cp h2-xxx.jar org.h2.tools.Server -webAllowOthers
※「-webAllowOthers」の指定するとlocalhost以外からのHTTPアクセスを許可する
Webコンソール表示
先述のコマンドでブラウザが自動で起動するが、手動で接続する場合は任意のWebブラウザで以下のURLへアクセス
http://<H2DB-IP>:8082/
DB接続
「JDBC URL:」の値に以下を設定(他は初期値のまま)して接続ボタンを押下
jdbc:h2:./<DBファイル名>
jdbc:h2:tcp://<H2DB-IP>:/~/<DBファイル名>
左のツリービューにテーブル一覧が表示されれば接続成功
使用方法
「SQLステートメント:」に
select * from <テーブル名>
を入力して「実行」ボタンを押下し、テーブルの内容がグリッド表示されれば成功