MySQL Update

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

رکورد های موجود در جدول را می‌توان با دستور “UPDATE” بروز رسانی کرد.

 

مثال: بازنویسی کردن “Canyoun 123” بجای “Valley 345” در ستون آدرس ها.

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, "record(s) affected")

نکته: دستور ()mydb.commit برای اعمال تغیرات الزامی است.

اگر در گرامر دستور “UPDATE” با استفاده از “WHERE” مشخص نشود که تغیرات کجا باید اعمال شود، تمام ستون انتخاب شده شامل تغییرات می‌شود.

پیشگیری از تزریق SQL

وقتی که کاربر یک query را میدهد شما باید از آن فرار کنید.

این برای جلوگیری از تزریق SQL است. که یک تکنیک جلوگیری از حمله هکر ها به منظور از بین بردن پایگاه داده محسوب می‌شود.

ماژول mysql.connector متد هایی برای فرار از تزریق SQL دارد.

 

مثال: فرار از تزریق SQL با استفاده از 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, "record(s) affected")