データの挿入

SQLInsertはデータベースにデータを挿入する.これは,「生SQLを使ったデータの挿入」に記載のように,SQLコマンドをそのまま使ってもできる.

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

SQLInsertの結果は,クエリの影響を受ける行数を指定する整数となる.1度に1行しか挿入できないため,1度だけ挿入する場合はこの整数は1になる.SQLInsertはバッチ挿入もサポートしている.これについては「パフォーマンス:バッチ操作」で例示する.

SQLInsert[conn,table,{columns},{values},opts]データベースにデータを挿入する
SQLInsert[conn,table,{columns},{{values}},opts]データベースにデータをバッチ挿入する

データベースへのデータの挿入

データを挿入する例を以下に示す.DatabaseLink をロードし,demoデータベースに接続する.

新しい表TESTを作る.このコマンドの詳細は「生SQLを使った表の作成」に記載されている.

SQLInsertを使ってこの表にデータを挿入する.

SQLSelectでデータがデータベースに保管されていることを確認する.

最後にバッチ挿入を実行する.変更された行数のリストが得られる.

SQLSelectを使うと,現在表には3行存在することが分かる.

SQLInsertには3つのオプションが使える.

オプション名
デフォルト値
"Timeout"$SQLTimeoutクエリのタイムアウトを設定する
"BatchSize"1000この値の数のレコードの挿入をバッチ処理する
"JavaBatching"TrueWolfram言語層の代りにJava層でパラメータのバッチ処理を行う

SQLInsertのオプション

オプション"Timeout"を使うと,実行に時間がかかりすぎるクエリをキャンセルすることができる.

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

Wolfram言語の式がデータベースに保管されている型にどのようにマップされるかについては「データ型マッピング」に詳しく記載されている.