DATABASELINK チュートリアル

列の構成

列の記述

このセクションではデータベースの列についての情報を得るコマンドについて述べる.

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

SQLColumnNames[conn]データソース内のすべての列名をリストする
SQLColumnNames[conn,name,opts]name に合致するデータソース内のすべての列名をリストする
SQLColumns[conn]データソース内のすべての列をリストする
SQLColumns[conn,name,opts]name に合致するデータソース内のすべての列をリストする
SQLColumnInformation[conn]データソース内の表の列情報をすべてリストする
SQLColumnInformation[conn,name,opts]name に合致する列の列情報をすべてリストする

列についての情報を取り出す関数

DatabaseLink をロードし,デモデータベースに接続する.

In[5]:=
Click for copyable input

SQLColumnNamesを使うと,データベース内の列名が,表と列の名前のペアのリストとして得られる.HSQLDBについては,SYSTEM表の多くからの情報が返される.

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

メタ文字を使って名前に合致させることも可能である.メタ文字には0以上の文字が合致する「%」と,1文字のみの「_」がある.次のコマンドは,表の中でSAで始まる名前を持つ列を検索する.

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

SQLColumnsSQLColumn式のリストを返す.「SQLExecute:SQLスタイルのクエリにおける引数の列」で述べているように,SQLColumn式はデータベースコマンドにおいて構造的な引数に便利なことがある.結果には表の名前,列名,データ型,項目をNullにすることができるかどうか,データ長についての情報が含まれているからである.

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

SQLColumnInformationは列についてのより詳しい情報を返す.

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

表の名前と列の名前に合致するメタ文字のリストを渡すことで,列名をフィルタすることができる.次のコマンドは,表すべてを検索し,「V」で始まる列をすべて返す.

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

表の名前を指定すると,1つの表から列をすべて抽出することができる.

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

SQLTable引数も使える.

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

SQLColumnNamesを使うと,各項目が表の名前と列の名前のリストとなっているリストが得られる.列名のみのリストが必要な場合は Mathematica の部分指定を使って[[All, 2]]と入力し,第2要素だけを抽出する.

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

引数にSQLColumnを使うこともできる.

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

SQLColumnsSQLColumnNamesSQLColumnInformationには多くのオプションが使える.

オプション名
デフォルト値
"Catalog"None使用するデータベースカタログ
"Schema"None使用するデータベーススキーマ
"ShowColumnHeadings"False結果とともに見出しを返す(SQLColumnInformationオプションのみ)

SQLColumnsSQLColumnNamesSQLColumnInformation オプション

オプションSQLColumnInformationで使うと,列見出しが得られる.

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

接続を閉じます.

In[13]:=
Click for copyable input

データベースが特定のスキーマとカタログで構成されている場合は,オプションを使って列を選択することもできる.

列の表現

SQLColumn式はデータベースの列についての情報を保管している.

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

SQLColumn[{table,col},opts]SQL表の列を表す式

列を表すオブジェクト

SQLColumnには,多くのオプションが使える.

オプション名
デフォルト値
"DataTypeName"None項目の型
"Nullable"None項目がnullになり得るかどうか
"DataLength"None可変長データの最大の長さ

SQLColumnのオプション

SQLColumn式の例を以下に示す.まず DatabaseLink をロードし,demo データベースに接続する.

In[14]:=
Click for copyable input

SQLColumnsは,データベース中の列のリストをSQLColumn式として返す.この例では,SAMPLETABLE1表のみを取り出すようにパターンを指定する.

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

これで接続が終了する.

In[4]:=
Click for copyable input

SQLColumn式は「データの選択」と「表の作成」で示したようにコマンドの中でも使える.「表の作成」では重要な使用例を示す.

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