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")