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