Getting Started
このチュートリアルの使い方
このチュートリアルでは,
DatabaseLink の機能の概要と,どのように使い始めるかについての提案を取り上げます.これには軽量のデータベースHSQLDBを使用しますが,これは
DatabaseLink の一部としてインストールされます.これを使うと,データベースを別途インストールしなくてもドキュメント内の例題を試すことができます.別の
DatabaseLink チュートリアルに詳しいリファレンス情報があります.
DatabaseLink には,データベース操作のための2種類のインターフェースが用意されています.ひとつはコマンドラインインターフェースで,プログラム内でデータベースを使うときに,より柔軟で便利です.もうひとつはグラフィカルインターフェースで,こちらは使用が簡単です.どちらのインターフェースについてもここで取り上げます.
このセクションの例題を試し終えたら,
データベースの例の使用に記載の
DatabaseExamples`パッケージを使って例題データベースをもとの状態に戻した方がよいでしょう.
コマンドラインインターフェース
はじめに
コマンドラインインターフェースはパワフルかつ柔軟なインターフェースで,特にデータベースの機能を利用するプログラムを書くのに適しています.このセクションでは,例題データベースを使って種々の操作について述べます.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,
データベースの例の使用で述べているように
DatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
パッケージのロード
DatabaseLink は
Mathematica のアドオンアプリケーションです.関数を使う前に,以下のようにしてパッケージをロードする必要があります.
データベースへの接続
データベースへの接続についての詳細は
データベース接続をご覧ください.コマンドラインメソッドでは,データベースを使用する際に使えるハンドルを返す関数
OpenSQLConnectionを使います.次の式を評価すると,付属の例題データベースへの接続を開始します.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,
データベースの例の使用で述べているように
DatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
| Out[2]= |  |
引数を与えずに
OpenSQLConnectionでGUIを開いてデータベースに接続することもできます.Connection Toolが現れますので,接続を開始するか,操作を継続する前にツールをキャンセルしてください.
exampleデータベースに接続するには,Connection Toolが使えます.データベースへの接続についての詳細情報は
データベース接続をご覧ください.
データの取出し
リレーショナルデータベースは表の集合で構成されています.各表は一般に列と呼ばれる種々のカテゴリのデータからなります.表の各行には種々のカテゴリのデータが含まれています.データベースアプリケーションには,データのクエリ,挿入,更新,削除等の機能をサポートする,データ管理のための関数が含まれています.
表はリレーショナルデータベースの基盤で,それらを簡単にリストする方法が必要です.これは,次のように
SQLTablesコマンドを使って行えます.
| Out[4]= |  |
表の特定の列の情報は,
SQLColumnsコマンドで調べることができます.表
SAMPLETABLE1 の列についての情報を得る例を以下に示します.
| Out[5]= |  |
以下のように
SQLSelectコマンドを実行すると,表
SAMPLETABLE1 のデータが取り出せます.
| Out[6]= |  |
データベースクエリの結果は
Mathematica リストとなり,このリストはあらゆる
Mathematica コマンドで使えます.次の例では,各行の最後の要素をプロットします.
| Out[7]= |  |
次は,表
SALES からデータを取り出しますが,その際に列見出しを加え,結果を表形式で出力します.
Out[8]//TableForm= |
| |  |
DatabaseLink を使うと,SQLコマンドをそのまま入力することもできます.これはSQLについてすでに詳しく,新しく他の言語を学びたくない場合に便利です.次の例では,表
SALES からすべてのデータを取り出します.
| Out[9]= |  |
データの取出しに関する詳細情報は,
データの選択をご覧ください.
Inserting Data
SQLInsertコマンドを使うと,表にデータを挿入することができます.例として,表
SAMPLETABLE1 に新しい行を追加してみます.
| Out[10]= |  |
Out[11]//TableForm= |
| |  |
SQLコマンドをそのまま使ってデータをさらに挿入することもできます.このとき,挿入する文字列(次の例では
Day7)にはシングルクォート文字「'」を使用してください.ダブルクォート文字「"」も使えますが,ダブルクォートの場合は
Mathematica の文字列エスケープ文字であるバックスラッシュ「\」を前に付けなければなりません.
| Out[12]= |  |
SQLコマンドをそのまま使用するもうひとつの例として,プレースホルダーを使って引数の場所を示し,
SQLExecuteの引数として実際の引数を含んでいるリストを渡します.この方法はコマンドを形成するために文字列を連ねる必要がないので便利です.
| Out[13]= |  |
| Out[14]= |  |
データの挿入に関する詳細情報は,
データの挿入をご覧ください.
データの更新
SQLUpdateコマンドを使うと,表のデータを更新することができます.これはデータの一部のみを変更するために,よく条件と組み合せて使われます.次の例は列
VALUE の8より大きい項目をすべて7に設定します.
| Out[15]= |  |
Out[16]//TableForm= |
| |  |
データの更新にはSQLコマンドも使えます.次の例では
VALUE が6以上の項目に対応する行をすべて7に設定します.
| Out[17]= |  |
| Out[18]= |  |
データの更新に関する詳細情報は,
データの更新をご覧ください.
データの削除
SQLDeleteコマンドを使うと,表のデータを削除することができます.これはデータの一部のみを変更するために,よく条件と組み合せて使われます.次の例は
ENTRY の成分が7以上の行をすべて削除します.
| Out[19]= |  |
Out[20]//TableForm= |
| |  |
データの削除にはSQLコマンドも使えます.次の例では
VALUE が5.7より大きい項目をすべて削除します.
| Out[21]= |  |
| Out[22]= |  |
データの削除に関する詳細情報は,
データの削除をご覧ください
バッチコマンド
1つのコマンドを何度も繰り返して使用する場合は,繰り返す引数をリストで指定して行えます.同じコマンドをこのようにして実行すると,各コマンドを別々に実行するよりも格段に速くなります.
| Out[23]= |  |
次に,SQLコマンドを使ってさらに2行挿入します.
| Out[24]= |  |
| Out[25]= |  |
接続の解除
接続についての詳細情報は
データベース接続をご覧ください.過去にデータベースに変更を加えており,それをもとに戻したい場合は,
データベースの例の使用に記載のように
DatabaseExamples`パッケージをお使いください.
Database Explorer
Database Explorerは,データベースの機能を使用するためのグラフィカルインターフェースです.これは
DatabaseLink をロードし,コマンド
DatabaseExplorer[]を実行すると立ち上がります.
| Out[28]= |  |
Database Explorerが開いたら,お使いのシステム用に設定済みの他のデータベースに接続できます.新しい接続を開始することもできます.データベースに接続すると,次の図のように表と列が表示されます.
「Result」タブをクリックすると,次の図のようにデータベースのデータが見られます.
Database Explorerは,より複雑なクエリの作成,クエリの保存,クエリの結果のレポートの作成(
Mathematica ノートブックとして保存される)等,多くの機能をサポートしています.これらについては
Database Explorerをご覧ください.