پیشنهاد دوره:

به‌روزرسانی جدول

می‌توانید از عبارت "UPDATE" برای به‌روزرسانی رکوردهای موجود در جدول استفاده کنید:

مثال

برای پوشش دادن "Valley 345" در ستون آدرس با "Canyon 123":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "ثبت(s) تحت تأثیر قرار گرفته)")

اجرای مثال

مهم:لطفاً دقت کنید که عبارت mydb.commit()نیاز به تغییر دارد، در غیر این صورت هیچ تغییری در جدول ایجاد نخواهد شد.

لطفاً دقت کنید که WHERE استفاده می‌شود: جعبه WHERE مشخص می‌کند که کدام رکوردها باید به‌روزرسانی شوند. اگر جعبه WHERE را حذف کنید، همه رکوردها به‌روزرسانی خواهند شد!

جلوگیری از نفوذ SQL

این عادت خوبی است که در دستورات update هرگونه مقادیر را فرار کنید.

این کار برای جلوگیری از نفوذ SQL است که یک تکنیک رایج هکرهای اینترنتی است و می‌تواند دیتابیس شما را خراب یا سوءاستفاده کند.

مодуل mysql.connector از جایگذار %s استفاده می‌کند %s برای فرار کردن مقادیر در دستور delete استفاده کنید:

مثال

از روش جایگذار %s برای فرار کردن مقادیر استفاده کنید:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = %s WHERE address =" %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "ثبت(s) تحت تأثیر قرار گرفته)")

اجرای مثال