DatabaseLink チュートリアル関数

表の作成

データベースに新しい表を作るには,SQLCreateTableを使います.これは,生SQLを使った表の作成に記載のように,SQLコマンドをそのまま使ってもできます.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているようにDatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
表を作成する際,SQLCreateTableの結果はクエリの影響を受ける行数を指定する整数となります.表が正しく作られた場合は,新しい表の作成の際に影響する行はないため,この整数は必ずゼロとなります.
SQLCreateTable[conn,table,{columns},opts]SQL表を作成する

データベースの表の作成

以下に表を作成する例を示します
DatabaseLink をロードし,demo データベースに接続します.
In[1]:=
Click for copyable input
表の作成にはSQLCreateTableを使います.列はSQLColumn式のリストで与えられます.次の例では,新しい表DATATYPESTABLE を作成します.この表には,SQLDataTypeNamesが返したデータ型1つにつき1つの列があります.列TINYINTCOLNullに設定できないように指定します.しかし各列のバイナリはNullに設定できます."Nullable"オプションが指定されていない他の列にはデータベースの"Nullable"のデフォルトが使われます.文字ベースの列は特定の長さに制限されます.他の列は型に応じてデフォルトのデータ長が使われます.
In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=
SQLTableNamesを使って表がデータベースに存在することを確認します.
In[5]:=
Click for copyable input
Out[5]=
SQLColumnNamesで表中の列を確認します.
In[6]:=
Click for copyable input
Out[6]=
SQLCreateTableにはオプションが1つ適用できます.
オプション名デフォルト値
"Timeout"Automaticクエリのタイムアウトを設定する

SQLCreateTableのオプション

オプション"Timeout"を使うと,実行に時間がかかりすぎるクエリをキャンセルすることができます.
表を削除し,接続を閉じます.
In[7]:=
Click for copyable input
データベースによっては,列がキーであるかどうか,または自動インクリメントであるかどうか等,列についてのより詳細なオプションをサポートしていることもあります.このようなオプションが必要な場合は,SQL文を使って表を作成してください.生SQLを使った表の作成で,その考え方と例を示します.