DATABASELINK チュートリアル

Getting Started

このチュートリアルの使い方

このチュートリアルでは,DatabaseLink の機能の概要と,どのように使い始めるかについての提案を取り上げる.これには軽量のデータベースHSQLDBを使用するが,これは DatabaseLink の一部としてインストールされる.これを使うと,データベースを別途インストールしなくてもドキュメント内の例題を試すことができる.別の DatabaseLink チュートリアルに詳しいリファレンス情報がある.

DatabaseLink には,データベース操作のための2種類のインターフェースが用意されている.一つはコマンドラインインターフェースで,プログラム内でデータベースを使うときに,より柔軟で便利である.もう一つはグラフィカルインターフェースで,こちらは使用が簡単である.どちらのインターフェースについてもここで取り上げる.

このセクションの例題を試し終えたら,「データベースの例の使用」に記載のパッケージを使って例題データベースをもとの状態に戻した方がよいだろう.

コマンドラインインターフェース

はじめに

コマンドラインインターフェースはパワフルかつ柔軟なインターフェースで,特にデータベースの機能を利用するプログラムを書くのに適している.このセクションでは,例題データベースを使って種々の操作について述べる.

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているようにパッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

パッケージのロード

DatabaseLinkMathematica のアドオンアプリケーションである.関数を使う前に,以下のようにしてパッケージをロードする必要がある.

In[1]:=
Click for copyable input

データベースへの接続

データベースへの接続についての詳細は「データベース接続」をご覧いただきたい.コマンドラインメソッドでは,データベースを使用する際に使えるハンドルを返す関数OpenSQLConnectionを使う.次の式を評価すると,付属の例題データベースへの接続を開始する.

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているようにパッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

In[2]:=
Click for copyable input
Out[2]=

引数を与えずにOpenSQLConnectionでGUIを開いてデータベースに接続することもできる.Connection Toolが現れるので,接続を開始するか,または操作を継続する前にツールをキャンセルする.

In[3]:=
Click for copyable input

例題データベースに接続するには,Connection Toolが使える.データベースへの接続についての詳細情報は「データベース接続」を参照されたい.

データの取出し

リレーショナルデータベースは表の集合で構成されている.各表は一般に列と呼ばれる種々のカテゴリのデータからなる.表の各行には種々のカテゴリのデータが含まれている.データベースアプリケーションには,データのクエリ,挿入,更新,削除等の機能をサポートする,データ管理のための関数が含まれている.

表はリレーショナルデータベースの基盤で,それらを簡単にリストする方法が必要である.これは,次のようにSQLTablesコマンドを使って行える.

In[4]:=
Click for copyable input
Out[4]=

表の特定の列の情報は,SQLColumnsコマンドで調べることができる.表SAMPLETABLE1の列についての情報を得る例を以下に示す.

In[5]:=
Click for copyable input
Out[5]=

以下のようにSQLSelectコマンドを実行すると,表SAMPLETABLE1のデータが取り出せる.

In[6]:=
Click for copyable input
Out[6]=

データベースクエリの結果は Mathematica リストとなり,このリストはあらゆる Mathematica コマンドで使える.次の例では,各行の最後の要素をプロットする.

In[7]:=
Click for copyable input
Out[7]=

次は,表SALESからデータを取り出すが,その際に列見出しを加え,結果を表形式で出力する.

In[8]:=
Click for copyable input
Out[8]//TableForm=

DatabaseLink を使うと,SQLコマンドをそのまま入力することもできる.これはSQLについてすでに詳しく,新しく他の言語を学びたくない場合に便利である.次の例では,表SALESからすべてのデータを取り出す.

In[9]:=
Click for copyable input
Out[9]=

データの取出しに関する詳細情報は,「データの選択」を参照されたい.

データの挿入

SQLInsertコマンドを使うと,表にデータを挿入することができる.例として,表SAMPLETABLE1に新しい行を追加してみる.

In[10]:=
Click for copyable input
Out[10]=

加えられた行を見てみる.

In[11]:=
Click for copyable input
Out[11]//TableForm=

SQLコマンドをそのまま使ってデータをさらに挿入することもできる.このとき,挿入する文字列(次の例では)にはシングルクォート文字「'」を使用する.ダブルクォート文字「"」も使えるが,ダブルクォートの場合は Mathematica の文字列エスケープ文字であるバックスラッシュ「\」を前に付けなければならない.

In[12]:=
Click for copyable input
Out[12]=

SQLコマンドをそのまま使用するもう一つの例として,プレースホルダを使って引数の場所を示し,SQLExecuteの引数として実際の引数を含んでいるリストを渡す.この方法はコマンドを形成するために文字列を連ねる必要がないので便利である.

In[13]:=
Click for copyable input
Out[13]=

現在の表のデータを示す.

In[14]:=
Click for copyable input
Out[14]=

データの挿入に関する詳細情報は,「データの挿入」を参照されたい.

データの更新

SQLUpdateコマンドを使うと,表のデータを更新することができる.これはデータの一部のみを変更するために,よく条件と組み合せて使われる.次の例は列VALUEの8より大きい項目をすべて7に設定する.

In[15]:=
Click for copyable input
Out[15]=

加えられた変更を見てみる.

In[16]:=
Click for copyable input
Out[16]//TableForm=

データの更新にはSQLコマンドも使える.次の例ではVALUEが6以上の項目に対応する行をすべて7に設定する.

In[17]:=
Click for copyable input
Out[17]=
In[18]:=
Click for copyable input
Out[18]=

データの更新に関する詳細情報は,「データの更新」を参照されたい.

データの削除

SQLDeleteコマンドを使うと,表のデータを削除することができる.これはデータの一部のみを変更するために,よく条件と組み合せて使われる.次の例はVALUEの成分が7以上の行をすべて削除する.

In[19]:=
Click for copyable input
Out[19]=

加えられた変更を見てみる.

In[20]:=
Click for copyable input
Out[20]//TableForm=

データの削除にはSQLコマンドも使える.次の例ではVALUEが5.7より大きい項目をすべて削除する.

In[21]:=
Click for copyable input
Out[21]=

データベースに残った行は1行だけである.

In[22]:=
Click for copyable input
Out[22]=

データの削除に関する詳細情報は,「データの削除」を参照されたい.

バッチコマンド

1つのコマンドを何度も繰り返して使用する場合は,繰り返す引数をリストで指定して行える.同じコマンドをこのようにして実行すると,各コマンドを別々に実行するよりも格段に速くなる.

次のコマンドは2行挿入する.

In[23]:=
Click for copyable input
Out[23]=

次に,SQLコマンドを使ってさらに2行挿入する.

In[24]:=
Click for copyable input
Out[24]=

挿入の結果は次のようになる.

In[25]:=
Click for copyable input
Out[25]=

接続の解除

接続を使い終ったら,それを閉じることができる.

In[26]:=
Click for copyable input

接続についての詳細情報は「データベース接続」を参照されたい.過去にデータベースに変更を加えており,それをもとに戻したい場合は,「データベースの例の使用」に記載のようにパッケージを使う.

Database Explorer

Database Explorerは,データベースの機能を使用するためのグラフィカルインターフェースである.これは DatabaseLink をロードし,コマンドDatabaseExplorer[]を実行すると立ち上がる.

In[27]:=
Click for copyable input
Out[28]=

Database Explorerが開いたら,お使いのシステム用に設定済みの他のデータベースに接続できる.新しい接続を開始することもできる.データベースに接続すると,次の図のように表と列が表示される.

6.gif

Result」タブをクリックすると,次の図のようにデータベースのデータが見られる.

7.gif

Database Explorerは,より複雑なクエリの作成,クエリの保存,クエリの結果のレポートの作成(Mathematica ノートブックとして保存される)等,多くの機能をサポートしている.これらについては「Database Explorer」を参照のこと.

New to Mathematica? Find your learning path »
Have a question? Ask support »