Batch Processing
このpython コネクタは、データソースに書き込むバッチ処理も実行できます。これは、カーソルオブジェクトのexecutemany() メソッドを使用して行います。SQL ステートメント文字列に加えて、値のデータフレームを、SQL ステートメントを実行するための一連のパラメーターとして提供する必要があります。通常の書き込み操作と同様に、このステートメントはプロバイダによって直ちに実行されるため、接続のcommit() メソッドの呼び出しは不要です。
Insert
次の例では、テーブルに複数の新しいレコードを追加します。
import cdata.googlesheets as drv conn = drv.connect("InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders") cur = conn.cursor() cmd = "INSERT INTO Spreadsheet1_Sheet1 (Id, Column1) VALUES (?, ?)" params = [["Jon Doe", "John"], ["Jon Doe", "John"]] cur.executemany(cmd, params) print("Records affected: ", cur.rowcount)
Update
次の例では、テーブル内の複数の既存のレコードを変更します。
import cdata.googlesheets as drv conn = drv.connect("InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders") cur = conn.cursor() cmd = "UPDATE Spreadsheet1_Sheet1 SET Column1 = ? WHERE Id = ?" params = [["John", "6"], ["John", "6"]] cur.executemany(cmd, params) print("Records affected: ", cur.rowcount)
Delete
次の例では、テーブルから複数の既存のレコードを削除します。
import cdata.googlesheets as drv conn = drv.connect("InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders") cur = conn.cursor() cmd = "DELETE FROM Spreadsheet1_Sheet1 WHERE Id = ?" params = [["6"], ["6"]] cur.executemany(cmd, params) print("Records affected: ", cur.rowcount)