Apache Derby/Interactive Use

提供: fukudat
移動: 案内検索

Eclipse の中から、Apache Derby を対話的 (interactive) に使うことができる。対話的とは、プログラムを書かずに(この場合はコマンドをタイプして)操作できるということ。

目次

準備

  • Eclipse を起動.
    • Windows の場合、c:\eclipse\eclipse.exe を実行。 (ただし,c:\eclipseはEclipseのインストールディレクトリ)
    • Linux の場合、/opt/eclipse/eclipse を実行。 (ただし,/opt/eclipseはEclipseのインストールディレクトリ)
  • 新規プロジェクトを作成する .
    • プルダウンメニュー "File" ⇒ "New" ⇒ "Project..." ⇒
    • "Java Project" を選んで Next ⇒
    • 適当なプロジェクト名(例えば sample)を入力して Finish
    derby-programming-1.png
  • 作成したプロジェクトで、Apache Derby を使えるようにする.
    • Java Perspective を開く (ウィンドウ右上の Open Perspective アイコンを押して、Java を選択)
    • Package Explorer view (エキスプローラ風) 中に,さっき作成したプロジェクトを見つけ、右クリック ⇒ Apache Derby ⇒ Add Apache Derby nature
    derby-programming-2.png

Derby Network Server を起動

  • もう一度、Package Explorer view で、プロジェクトを右クリック ⇒ Apache Derby ⇒ Start Derby Network Server を選択。Derby のサーバープロセスがバックグラウンドで起動する。
    Derby-7.png

インタラクティブ SQL プロセッサ ij を起動

  • もう一度、Package Explorer view で、プロジェクトを右クリック ⇒ Apache Derby ⇒ "ij" (Interactive SQL) を選択すると、Console view に ij が現れる。
    Derby-8.png
 ij version 10.1
 ij>
  • (optional) Console タブをダブルクリックして最大化する。
  • プロンプト ij> に対して、SQL文を入力することができる。ただし、 SQL文の終りにはセミコロン (;) を付ける。

サンプル操作

以上の準備Derby Network Server を起動 インタラクティブ SQL プロセッサ ij を起動 を すべて済ませたら,試しに以下のように操作してみよう.

データベースの作成

ij>のプロンプトに対して,以下のようにタイプしてEnterキーを押す.シングルクォートや最後のセミコロンを忘れずに.

ij> connect 'jdbc:derby:myDB;create=true';

すると,インタラクティブSQLプロセッサ ij は Derby Network Serverと接続する.指定したデータベース myDB はまだないので,自動的に新規作成される.

プロジェクトのトップディレクトリの下に,myDBという名前のディレクトリが作成されているはずである.EclipseのPackage Explorer view (エキスプローラ風) で確かめてみよう(もし見当たらな いようだったら、プロジェクトを右クリックして Refesh).このディレクトリの中に作られるファイルがデータベースの実体である.

テーブルの作成

できたばかりのデータベースは(基本的に)空っぽなので,まずはデータを入れるためのテーブルを作成しよう。

ij> create table 酒(
名前 varchar(10) primary key,
製造元 varchar(10)
);
0 rows inserted/updated/deleted

このように文の途中でEnterキーを押して改行してもかまわない。文末のセミコロン;が読み込まれるまで、一続きの文であると解釈される. また、日本語の文字(漢字・かな・カナ)のテーブルやカラムを作ることもできる。

うまくテーブルができたかどうか確かめてみよう。

ij> show tables;
TABLE_SCHEM         |TABLE_NAME                    |REMARKS
------------------------------------------------------------------------
SYS                 |SYSALIASES                    |
SYS                 |SYSCHECKS                     |
                     <<< 中略 >>>
SYSIBM              |SYSDUMMY1                     |
APP                 |酒                             |

20 rows selected

このように定義されているテーブルのリストを見ることができる.TABLE_SCHEM (テーブルスキーマ) がSYSで始まるものは,システムが管理しているテーブルである. 最後の行に先ほど create table文で作成した酒テーブルができている.

次のようにすると酒テーブルに存在するカラムを調べることができる.

ij> describe 酒;
COLUMN_NAME         |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
------------------------------------------------------------------------------
名前                  |VARCHAR  |NULL|NULL|10    |NULL      |20        |NO
製造元                 |VARCHAR  |NULL|NULL|10    |NULL      |20        |YES

2 rows selected

データ操作

この酒テーブルにデータを入れてみよう.

ij> insert into 酒 values
('久保田千寿', '朝日酒造'),
('久保田万寿', '朝日酒造');
2 rows inserted/updated/deleted

このように,文字列定数はシングルクォートで囲う. ここでは1つの INSERT文 で2つのレコードを挿入している.

select文で確認してみよう.

ij> select * from 酒;
名前        |製造元
---------------------
久保田千寿     |朝日酒造
久保田万寿     |朝日酒造

2 rows selected

主なコマンド

Apache Derby固有の主なコマンドを紹介する.

ij> のプロンプトに対して,ここに紹介するコマンドや,一般のSQL文を入力することができる.

データベースに接続する

 connect URL;

例) データベース "myDB" を新規作成して接続する。

 connect 'jdbc:derby:myDB;create=true';

URL はシングルクォート (') で囲む。create=true をつけると,データベースがなければ新規作成する.

ij を終了する

 exit;

ヘルプを表示する

 help;

ファイルを実行する

 run FILE;

例) ファイル "foo.sql" を実行する。

 run 'foo.sql';

ファイル名はシングルクォート (') で囲む

終わり方

  • ij を終了する。
    • ij の Console view のストップボタン()をクリック。
    • Console を右クリック ⇒ Remove All Terminated
  • Network Server を終了する。
    • Network Server の Console view のストップボタン()をクリック。
    • Console を右クリック ⇒ Remove All Terminated

SQL言語リファレンス

Apache Derby のマニュアル http://db.apache.org/derby/docs/10.4/ref/ の SQL language reference の章に使用可能な SQL の文法が記されている.(10.4 は2008年11月現在の最新バージョン番 号なので,もっと新しいものがあるかもしれない.http://db.apache.org/derby/manuals/index.html で確認できる).

参考文献

SQL の解説付きのページリスト

個人用ツール
名前空間

変種
操作
案内
ツールボックス