Parameterized Statements
The following code example shows how to bind parameters to create parameterized statements.
Single-Use Statements
The execute method accepts an additional sequence for binding query parameters to values.
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))
Multi-Use Statements
The executemany method can be used to execute the same query repeatedly with different sets of parameters. Instead of a sequence of parameters, executemany accepts a nested sequence of parameters which are used for each execution.
executemany works only with INSERT, UPDATE and DELETE statements. It cannot be used with any operation that returns results, such as a SELECT or an EXECUTE.
params = [ ("John 1",), ("John 2",), ("John 3",), ] cursor.executemany("INSERT INTO [CData].[Human_Resources].Workers (Legal_Name_Last_Name) VALUES (?)", params)