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
Uploaded by wanderingse 2007年03月01日(木) 15:59:19
a465c9c009785956.PNG (23.18KB)
Uploaded by wanderingse 2007年03月01日(木) 15:56:22
Uploaded by wanderingse 2007年03月01日(木) 15:56:22
41ab7691b39a06d6.PNG (16.13KB)
Uploaded by wanderingse 2007年03月01日(木) 15:44:52
Uploaded by wanderingse 2007年03月01日(木) 15:44:52
e4db914ffb513706.PNG (13.31KB)
Uploaded by wanderingse 2007年03月01日(木) 15:26:40
Uploaded by wanderingse 2007年03月01日(木) 15:26:40
9bca15e5ceb38865.PNG (9.36KB)
Uploaded by wanderingse 2007年03月01日(木) 15:21:16
Uploaded by wanderingse 2007年03月01日(木) 15:21:16