表の構成

表の記述

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

表の情報を取り出す関数

DatabaseLink をロードし,publisher データベースに接続します.
In[28]:=
Click for copyable input
SQLTableNamesは,接続内の表の名前のリストを返します.
In[3]:=
Click for copyable input
Out[3]=
SQLTablesSQLTable式のリストを返します.これらはデータベース中の表の情報を保管しています.
In[4]:=
Click for copyable input
Out[4]=
また,SQLTableInformationは表についてのより詳細な情報を返します.
In[5]:=
Click for copyable input
Out[5]//TableForm=
各関数の第2引数にパラメータ文字列を指定し,それに合致する名前の表だけを抽出することもできます.このフィルタリングはデータベースサーバ上で行われるため,速度が顕著に上がります.次の例はAUTHORS という名前の表を検索します.この条件に合致する表が存在しない場合は,結果は空のリストとなります.
In[6]:=
Click for copyable input
Out[6]=
複数の表が合致するようにメタ文字を指定することも可能です.メタ文字には0以上の文字が合致する「%」と,1文字のみの「_」があります.次のコマンドは,TITLE で始まるすべての表の名前を返します.
In[7]:=
Click for copyable input
Out[7]=
SQLTablesSQLTableNamesSQLTableInformationには数々のオプションが使えます.
オプション名デフォルト値
"TableType""TABLE"返される表の型
"Catalog"None使用するデータベースカタログ
"Schema"None使用するデータベーススキーマ
"ShowColumnHeadings"False結果とともに見出しを返すかどうか(SQLTableInformationオプションのみ)
オプション"TableType"を指定すると,どのような型の表を返すか指定することができます.一般にこれはTABLE 型の表であり,DatabaseLink の表関数はデフォルトでこれらの情報のみを返します.SQLTableTypeNamesを使うと,データソース中のあらゆる型の表を抽出することができます.
In[8]:=
Click for copyable input
Out[8]=
データソースの中のすべての表を見たいときは,SQLTableTypeNamesのオプションに"TableType"を指定して得られた結果が使えます.以下に例を示します.
In[9]:=
Click for copyable input
Out[9]=
オプション"ShowColumnHeadings"をSQLTableInformationで使うと,列見出しが得られます.
In[10]:=
Click for copyable input
Out[10]//TableForm=
接続を閉じます.
In[11]:=
Click for copyable input
データベースが特定のスキーマとカタログで構成されている場合は,オプション"Catalog","Schema"を使って表を選択することもできます.

表の表現

SQLTable式はデータベースの表の情報を保管します.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているようにDatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
SQLTable[table,opts]SQL表を表す式
SQLTable式の例を以下に示します.DatabaseLink をロードし,demo データベースに接続します.
In[12]:=
Click for copyable input
"TableType"オプションは,データベース中の表の型を選択するときに使用します.
オプション名デフォルト値
"TableType""TABLE"表の型
次にSQLTablesを使ってデータベース中の表のリストを得ます.これらはSQLTable 式として返されます.この例では,表の名前に合致させるパターンを指定し,"TableType"オプションはすべての型の表を返すように設定します.
In[3]:=
Click for copyable input
Out[3]=
接続を閉じます.
In[4]:=
Click for copyable input
データの選択に記載のように,SQLTable式はコマンドの中でも使えます.