Wiki内検索
カウンタ
メニュー
最近更新したページ
最新コメント
トップページ by awesome things!
トップページ by check it out
Generics(Java) by stunning seo guys
String(Java) by awesome things!
トップページ by check it out
PHPのページ by stunning seo guys
Tomcatのページ by stunning seo guys
トップページ by check it out
トップページ by awesome things!
タグ

hsqldbのページ


HSQLDB (エイチ・エス・キュー・エル・DB)

The hsqldb Development Groupによって開発・配布されているPureJavaのデータベースです。
SQLiteとならんで、軽量データベースの代表選手です。
本家サイトはこちら


インストール

本家サイトからダウンロードできます。2007/3/1現在、version1.8.0.7がリリースされていますので、hsqldb_1_8_0_7.zipをダウンロードします。

このzipを適当なディレクトリーに解凍します。
これを以後、HSQLDB_HOMEと呼びます。

HSQLDB_DB\lib\hsqldb.jarがこのデータベースの本体です。
エンジンやJDBCドライバまで含んで、v1.8.0.7で629Kしかありません。小さいですよね。

Javaが使える状態になっていれば(Javaがインストールされていれば)、インストールはこれで終了です。


起動

起動するには、Windowsの場合、

HSQLDB_DB\demo\runServer.bat

Linuxの場合、

HSQLDB_DB\demo\runServer.sh

を実行するのが手っ取り早いです。

Windowsの場合、上記のバッチを起動すると、コマンドプロンプトが立ち上がって以下のようなメッセージがでます。

[Server@1d58aae]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@1d58aae]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@1d58aae]: Startup sequence initiated from main() method
[Server@1d58aae]: Loaded properties from [C:\hsqldb_1.8.0.7\data\server.properties]
[Server@1d58aae]: Initiating startup sequence...
[Server@1d58aae]: Server socket opened successfully in 20 ms.
[Server@1d58aae]: Database [index=0, id=0, db=file:test, alias=] opened sucessfully in 849 ms.
[Server@1d58aae]: Startup sequence completed in 869 ms.
[Server@1d58aae]: 2007-03-01 14:48:35.311 HSQLDB server 1.8.0 is online
[Server@1d58aae]: To close normally, connect and execute SHUTDOWN SQL
[Server@1d58aae]: From command line, use [Ctrl]+[C] to abort abruptly

これで起動完了し、9001ポートをListenするようになります。


起動停止

上記のコマンドプロンプトのメッセージにあるように、コマンドプロンプトの画面でctrt+Cとすることで起動停止します。


管理ツール

これだけ軽量のデータベースなのに管理ツールが付属しているのがスゴイところです。
管理ツールには、

HSQLDB_DB\demo\runManager.bat

で起動する軽量のものと、

HSQLDB_DB\demo\runManagerSwing.bat

で起動する画面がちょっとリッチなものがあります。ここでは、前者を使用することにします。
runManager.batを起動するとconnect画面が立ち上がってきます。(この前にrunServer.batでデータベースを起動しておく必要があります)



HSQLDBはいくつかのモードの起動オプションを持ちます。出てきた画面の「Type」がそれにあたります。
先ほど立ち上げたのは「HSQL DATABASE ENGINE Server」なので、それを選択します。

インストール後の状態では、User=sa、Password=nullなので、Typeのみ変更してOKを押すと「HSQL Database Manager」という管理画面が立ち上がります。





SQL文の発行

SQL文は、上の「HSQL Database Manager」内にある「Clear」、「Execute」ボタン間の入力エリアに書き、「Execute」ボタンを押すことで発行できます。
hsqldbのsysntaxはこちらにあります

テーブルを作ってみましょう。

HSQLDBはv1.8よりスキーマをサポートするようになりました。まずは、以下の文でsampleという名前のスキーマを作ってみましょう。

create schema sample authorization dba

次に、以下のDDL文でテーブルを作ってみます。
create table sample.shiiresaki(
    bumonid VARCHAR(10) not null,
    kubun VARCHAR(2) not null,
    name VARCHAR(20) not null,
    tantou VARCHAR(10) not null);

「HSQL Database Manager」の画面を「View」=>「Refresh Tree」でリフレッシュしてください。左ペインを展開すると以下のような画面が見られるはずです。



次に以下のDMLでデータを入れてみましょう。
insert into sample.shiiresaki
    values('00001','01','あらら電気','taro');
insert into sample.shiiresaki
    values('00001','02','あらら電気','taro');
insert into sample.shiiresaki
    values('00002','01','よろよろ商会','jiro');
insert into sample.shiiresaki
    values('00002','02','よろよろ商会','jiro');
insert into sample.shiiresaki
    values('00002','03','よろよろ商会','jiro');
insert into sample.shiiresaki
    values('00003','01','てけてけ商事','taro');
insert into sample.shiiresaki
    values('00003','02','てけてけ商事','taro');
insert into sample.shiiresaki
    values('00003','03','てけてけ商事','taro');
insert into sample.shiiresaki
    values('00004','01','およよ電気','saburo');
insert into sample.shiiresaki
    values('00004','02','およよ電気','saburo');
insert into sample.shiiresaki
    values('00005','01','くねくね電波','taro');
insert into sample.shiiresaki
    values('00005','02','くねくね電波','taro');
insert into sample.shiiresaki
    values('00006','01','どばどば物産','jiro');
insert into sample.shiiresaki
    values('00006','02','どばどば物産','jiro');
insert into sample.shiiresaki
    values('00006','03','どばどば物産','saburo');

これができたら

select * from sample.shiiresaki;

で結果を確認してください。



こんな感じです。


データの在り処

HSQLDBのデータのありかは、

HSQLDB_HOME\data

です。今回の例では、test.logに実行したSQL文として保管されます。
2007年03月01日(木) 16:05:23 Modified by wanderingse

添付ファイル一覧(全5件)
521ef141b8ba6b92.PNG (23.18KB)
Uploaded by wanderingse 2007年03月01日(木) 15:59:19
a465c9c009785956.PNG (23.18KB)
Uploaded by wanderingse 2007年03月01日(木) 15:56:22
41ab7691b39a06d6.PNG (16.13KB)
Uploaded by wanderingse 2007年03月01日(木) 15:44:52
e4db914ffb513706.PNG (13.31KB)
Uploaded by wanderingse 2007年03月01日(木) 15:26:40
9bca15e5ceb38865.PNG (9.36KB)
Uploaded by wanderingse 2007年03月01日(木) 15:21:16



スマートフォン版で見る