生SQLを使った表の作成

生SQLコマンドCREATE TABLEはデータベースに表を作成するときに使う.これは「表の作成」に記載のように,Mathematica コマンド SQLCreateTableでもできる.

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

表を作るとき,SQLExecuteの結果はクエリの影響を受ける行数を示す整数になる.表が正しく作成されたら,新しい表の作成時に影響を受ける行はないので,この整数は必ずゼロとなる.

以下に表の作成の例を示する.DatabaseLink をロードし,demoデータベースに接続する.

表を作成する際,データベース内にどのようにデータが保管されるかを制限するオプションを指定することができる.次の例では,4列の表が作成される.USERNAMEは文字列ベースの列で,Nullを取ることはできず,主キーとる(主キーは表の中の行を一意的に表すので,表においては重要である).他の3つの列(ADDRESS,CITY,ZIPCODE)は一般的な文字ベースの列であるが,すべての行において唯一でなければならない.

2つ目の例では,3列の表が作られる.1つ目の列は,列を識別するための整数である.これはこの列が表の主キーであり,値が自動的に各行で1ずつ増やされることを意味している.つまり,データの挿入時点で値は必要とされず,代りにその値が次の増分となるということである.USERNAMEは文字列ベースの列で,表ADDRESSESでは外部キーである.3列目はビットで,デフォルトでは1である(データ挿入時に値が与えられなかったら,1に設定される).

SQLTableNamesを使って,表がデータベースに存在することを確認する.

SQLColumnNamesでデータベース内に列が作られたことを確認する.

表を削除し,接続を閉じる.

使用するデータベースによっては,表の作成時に他のオプションが使えることがある.これらはどのようなことが行えるかを示す例である.どのオプションが使用できるかについての詳細は,お使いのデータベースのドキュメントを参照されたい.