列の構成

列の記述

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

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

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

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

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

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

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

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

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

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

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

SQLTable引数も使える.

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

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

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

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

SQLColumnsSQLColumnNamesSQLColumnInformation オプション

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

接続を閉じます.

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

列の表現

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

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

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

列を表すオブジェクト

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

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

SQLColumnのオプション

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

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

これで接続が終了する.

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