Fork me on GitHub

役立ちぬ開発史、それはただのブログ

覚えておくといい、ブログの時代は終わる。いつかその内、きっとたぶん…

H2 Database Engineのインストールと使い方(基本コマンドとテーブル/カラムの名前変更)

| Comments

普段はあまりデータベースを触らないのですが、珍しく今まで触ったこと無いデータベースに触れました。どんなものなのかと簡単な使い方を記録しておきます。RDBで、SQL言語だったため、使い方は結構馴染みありました。たまにコマンドの書き方が違っていて、調べないと軽く詰んだりしました。

H2 Database Engineとは

オープンソースのDBMSの1つで、Javaをベースに開発されています。なので、Javaが動く環境なら、Windowsでも、Macでも、Linuxでも動きます。他のデータベースに比べて、処理が速いと言われています。軽量データベースなので、MySQLやPostgreSQLに比べて、機能はあまり無いです。しかし、同じ軽量データベースのSQLiteと比較すると、SQLiteには無い同時実行制御などの機能を持っています。最強と呼ばれていたりするそうです。

インストールの方法

まず、H2 Database Engineへ行きます。

  • Windowsの場合
    DownloadにあるWindows Installer (4 MB)からインストーラーを落とします。exeファイルを実行して、指示通りに行なえば、インストールできます。スタート -> 全てのプログラム -> H2 -> H2 Console をクリックするとデータベースサーバーが開きます

  • Macの場合
    DownloadにあるAll Platforms (zip, 5 MB)からzipファイルを落とします。適当な場所に展開して、展開されたディレクトリの中にあるbinディレクトリの中のh2-1.4.177.jarをクリックするとデータベースサーバー開きます。バージョンが変わるとファイル名の数字が違っているかもしれません。

インストールして、データベースサーバーを開くと、ブラウザにログイン画面が表示されます。
H2_login_english

初期設定が英語になっているので、英語がツライ方は左上の選択バーで日本語を選択しましょう。
H2_login_japanese

ログイン画面では、言語設定以外は特にイジらなくても接続できます。接続するとこんな画面が出てきます。
H2_operate

このコンソール画面で、色々なH2のコマンドを打つと、コマンドに合ったSQLの処理を実行します。

SQLの基本コマンド(SELECT, INSERT, UPDATE, DELETE…)

SQLでよく使う操作のコマンドは以下の通りです。簡単な例も併せておきます。
ちなみに、H2は、予約語で大文字小文字を分けてません
大文字で書いてるほうがしっくり来てたので、今回のサンプルコードは大文字で書いています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-- テーブルを作成
CREATE TABLE テーブル名(
  ID INT PRIMARY KEY,
  TEST_CHAR VARCHAR(40),
  TEST_INT  INT(10),
  TEST_DATE DATE
)

-- データの表示
-- *はなるべく使わずに、カラム(列)名を書くのがベスト
SELECT * FROM テーブル名 (WHERE 条件)

-- データの挿入
INSERT INTO テーブル名 (
    ID,
    TEST_CHAR,
    TEST_INT,
    TEST_DATE
  )
  VALUES (
    1,
  '文字列',
   1111,
   '2014-05-01'
  )

-- データの更新
UPDATE テーブル名 SET カラム() (WHERE 条件)

-- データの消去
DELETE テーブル名 WHERE 条件

-- テープルを消去
DROP TABLE テーブル名

テーブル名、カラム(列)名を変更する

H2を触ってみて、コマンドがMySQLと違ってたので、少し調べないと分からなくて、ちょっと詰まった操作です。

1
2
3
4
5
6
7
-- テーブル名を変更
-- このコマンドは、MySQLと変わらなかった
ALTER TABLE 古いテーブル名 RENAME TO 新しいテーブル名

-- カラム(列)名を変更
-- MySQLと違っていて、分からなかった
ALTER TABLE テーブル名 ALTER COLUMN 古いカラム() RENAME TO 新しいカラム()

参考文献

H2 DB インストール・設定メモ
H2 Database
使ってみようH2 Database Engine - 最強の呼び声もあるすごいヤツ
H2 Database - Japan ITエンジニア

Comments