パラメータ化されたステートメント
次のコード例は、パラメータをバインドしてパラメータ化されたステートメントを作成する方法を示します。
シングルユース ステートメント
execute メソッドは、クエリパラメータを値にバインドするための追加シーケンスを受け入れます。
cursor.execute("SELECT Worker_Reference_WID, Legal_Name_Last_Name FROM [CData].[Human_Resources].Workers WHERE Legal_Name_Last_Name = ?", ("Morgan",)) for (Worker_Reference_WID, Legal_Name_Last_Name) in cursor: print("Worker_Reference_WID = {}, Legal_Name_Last_Name = {}".format(Worker_Reference_WID, Legal_Name_Last_Name))
マルチユース ステートメント
executemany メソッドは、異なるパラメータセットを使用して同じクエリを繰り返し実行できます。一連のパラメータの代わりに、executemany は、各実行に使用されるネストされた一連のパラメータを受け入れます。
executemany はINSERT、UPDATE、およびDELETE ステートメントでのみ機能します。SELECT やEXECUTE など、結果を返す操作では使用できません。
params = [ ("John 1",), ("John 2",), ("John 3",), ] cursor.executemany("INSERT INTO [CData].[Human_Resources].Workers (Legal_Name_Last_Name) VALUES (?)", params)