列の構成
列の記述
このセクションではデータベースの列についての情報を得るコマンドについて述べます.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,
データベースの例の使用で述べているように
DatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
列についての情報を取り出す関数
DatabaseLink をロードし,
demo データベースに接続します.
SQLColumnNamesを使うと,データベース内の列名が,表と列の名前のペアのリストとして得られます.HSQLDBについては,表
SYSTEM の多くからの情報が返されます.
| Out[3]= |  |
メタ文字を使って名前に合致させることも可能です.メタ文字には0以上の文字が合致する「%」と,1文字のみの「_」があります.次のコマンドは,表の中でSAで始まる名前を持つ列を検索します.
| Out[4]= |  |
SQLColumnsは
SQLColumn式のリストを返します.
SQLスタイルのクエリにおける引数の列で述べているように,
SQLColumn式はデータベースコマンドにおいて構造的な引数に便利なことがあります.これは,結果には表の名前,列名,データ型,項目を
Nullにすることができるかどうか,データ長についての情報が含まれているからです.
| Out[5]= |  |
SQLColumnInformationは列についてのより詳しい情報を返します.
Out[6]//TableForm= |
| |  |
表の名前と列の名前に合致するメタ文字のリストを渡すことで,列名をフィルタすることができます.次のコマンドは,表すべてを検索し,Vで始まる列をすべて返します.
| Out[7]= |  |
表の名前を指定すると,1つの表から列をすべて抽出することができます.
| Out[8]= |  |
| Out[9]= |  |
SQLColumnNamesを使うと,各項目が表の名前と列の名前のリストとなっているリストが得られます.列名のみのリストが必要な場合は
Mathematica の部分指定を使って
[[All, 2]]と入力し,第2要素だけを抽出します.
| Out[10]= |  |
| Out[11]= |  |
SQLColumns,SQLColumnNames,SQLColumnInformation オプション
オプション"
ShowColumnHeadings"を
SQLColumnInformationで使うと,列見出しが得られます.
Out[12]//TableForm= |
| |  |
データベースが特定のスキーマとカタログで構成されている場合は,オプション"
Catalog","
Schema"を使って列を選択することもできます.
列の表現
SQLColumn式はデータベースの列についての情報を保管しています.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,
データベースの例の使用で述べているように
DatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
列を表すオブジェクト
SQLColumnには,多くのオプションが使えます.
| | |
| "DataTypeName" | None | 項目の型 |
| "Nullable" | None | 項目がnullになり得るかどうか |
| "DataLength" | None | 可変長データの最大の長さ |
SQLColumnのオプション
SQLColumn式の例を以下に示します.まず
DatabaseLink をロードし,
demo データベースに接続します.
SQLColumnsは,データベース中の列のリストを
SQLColumn式として返します.この例では,表
SAMPLETABLE1 のみを取り出すようにパターンを指定します.
| Out[3]= |  |
SQLColumn式は
データの選択と
表の作成で示したようにコマンドの中でも使えます.
表の作成では重要な使用例を示します.