Đây là một cách khác để làm điều đó. Nó được ghi lại trên trang web chính thức của MySQL.
https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html
Về mặt tinh thần, nó sử dụng cùng một cơ chế trong câu trả lời của @Trey Stout. Tuy nhiên, tôi thấy cái này đẹp hơn và dễ đọc hơn.
insert_stmt = (
"INSERT INTO employees (emp_no, first_name, last_name, hire_date) "
"VALUES (%s, %s, %s, %s)"
)
data = (2, 'Jane', 'Doe', datetime.date(2012, 3, 23))
cursor.execute(insert_stmt, data)
Và để minh họa rõ hơn bất kỳ nhu cầu nào về các biến:
NB: lưu ý việc thoát đang được thực hiện.
employee_id = 2
first_name = "Jane"
last_name = "Doe"
insert_stmt = (
"INSERT INTO employees (emp_no, first_name, last_name, hire_date) "
"VALUES (%s, %s, %s, %s)"
)
data = (employee_id, conn.escape_string(first_name), conn.escape_string(last_name), datetime.date(2012, 3, 23))
cursor.execute(insert_stmt, data)