Java DB を使う2
コマンドラインツールを使ってみる。
ij.ksh というツールでDBを操作する。まずは実行。
$ $JAVA_HOME/db/frameworks/embedded/bin/ij.ksh ij バージョン 10.2 ij>
そして、困ったときのためにヘルプを表示。
メッセージが日本語に対応しているところが良いですね。SQL関連が出てこないのは残念。
ij>help; サポートされるコマンドは以下の通りです。 PROTOCOL 'JDBC protocol' [ AS ident ]; -- デフォルトまたは名前付きプロトコルを設定する DRIVER 'class for driver'; -- 名前付きクラスをロードする CONNECT 'url for database' [ PROTOCOL namedProtocol ] [ AS connectionName ]; -- データベース URL に接続し、 -- 場合により ID を割り振る SET CONNECTION connectionName; -- 指定された接続に切り替える SHOW CONNECTIONS; -- すべての接続をリストする AUTOCOMMIT [ ON | OFF ]; -- 接続に対して自動コミットを設定する DISCONNECT [ CURRENT | connectionName | ALL ]; -- 現行、名前付き、またはすべての接続をドロップする -- デフォルトは CURRENT COMMIT; -- 現行トランザクションをコミットする ROLLBACK; -- 現行トランザクションをロールバックする PREPARE name AS 'SQL-J text'; -- SQL-J テキストを準備する EXECUTE { name | 'SQL-J text' } [ USING { name | 'SQL-J text' } ] ; -- USING 結果セット行からのパラメーター値 -- を使ってステートメントを実行する REMOVE name; -- 指定された準備済みステートメントを除去する RUN 'filename'; -- 指定したファイルからコマンドを実行する ELAPSEDTIME [ ON | OFF ]; -- ij に対する経過時間モードを設定する MAXIMUMDISPLAYWIDTH integerValue; -- 各列の最大表示幅を -- integerValue に設定する ASYNC name 'SQL-J text'; -- 別のスレッドでコマンドを実行する WAIT FOR name; -- ASYNC'd コマンドの結果を待つ GET [SCROLL INSENSITIVE] CURSOR name AS 'SQL-J query'; -- 照会にカーソル (JDBC 結果セット) を置く -- SCROLL カーソルは、JDBC 2.0 以上でのみ -- 使用可能です。 -- (カーソル・スクロール型は JDBC 1.X では無視されます。) NEXT name; -- 指定したカーソルから次の行を取得する FIRST name; -- 指定したスクロール・カーソルから最初の行を取得する LAST name; -- 指定したスクロール・カーソルから最後の行を取得する PREVIOUS name; -- 指定したスクロール・カーソルから直前の行を取得する ABSOLUTE integer name; -- 指定したスクロール・カーソルを絶対行番号に位置付ける -- (負の数字は、最後の行から位置を示します。) RELATIVE integer name; -- 指定したスクロール・カーソルを現行行に相対で位置付ける -- (整数は行の数) AFTER LAST name; -- 指定したスクロール・カーソルを最終行の後に位置付ける BEFORE FIRST name; -- 指定したスクロール・カーソルを先頭行の前に位置付ける GETCURRENTROWNUMBER name; -- 指定したスクロール・カーソルの現行位置の行番号を戻す -- (カーソルが行に位置付けられていないと、0 が戻されます。) CLOSE name; -- 指定したカーソルをクローズする LOCALIZEDDISPLAY [ ON | OFF ]; -- ロケール依存データの表記を制御する EXIT; -- ij を終了する HELP; -- このメッセージを表示する 認識されないコマンドはすべて、潜在的な SQL-J コマンドとして扱われ、直接実行されます。
で、データベースに接続するには、
ij> connect 'jdbc:derby:;create=true';
とする。"create=true"を付けておけばデータベースを作ってくれる。
どんなSQL文が使えるかは、Derby のサイトに行くとよい。
http://db.apache.org/derby/docs/10.2/ref/