DatabaseLink チュートリアル関数

列の構成

列の記述

このセクションではデータベースの列についての情報を得るコマンドについて述べます.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているようにDatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
SQLColumnNames[conn]データソース内のすべての列名をリストする
SQLColumnNames[conn,name,opts]name に合致するデータソース内のすべての列名をリストする
SQLColumns[conn]データソース内のすべての列をリストする
SQLColumns[conn,name,opts]name に合致するデータソース内のすべての列をリストする
SQLColumnInformation[conn]データソース内の表の列情報をすべてリストする
SQLColumnInformation[conn,name,opts]name に合致する列の列情報をすべてリストする

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

DatabaseLink をロードし,demo データベースに接続します.
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式のリストを返します.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 オプション

オプション"ShowColumnHeadings"をSQLColumnInformationで使うと,列見出しが得られます.
In[12]:=
Click for copyable input
Out[12]//TableForm=
接続を閉じます.
In[13]:=
Click for copyable input
データベースが特定のスキーマとカタログで構成されている場合は,オプション"Catalog","Schema"を使って列を選択することもできます.

列の表現

SQLColumn式はデータベースの列についての情報を保管しています.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているようにDatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
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式はデータの選択表の作成で示したようにコマンドの中でも使えます.表の作成では重要な使用例を示します.