MySQL UPDATE
Jadvalni yangilash
Jadvaldagi mavjud yozuvlarni "UPDATE" iborasidan foydalanib yangilashingiz mumkin:
Misol
"Valley 345" dan "Canyon 123" gacha bo‘lgan manzil ustunini qayta yozing:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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")
Misolni ishga tushirish »
Muhim!: Operatorga e’tibor bering:mydb.commit(). O‘zgartirishlar kiritish talab qilinadi, aks holda jadvalga hech qanday o‘zgartirish kiritilmaydi.
UPDATE sintaksisidagi WHERE bandiga e’tibor bering: WHERE bandi qaysi yozuv yoki yozuvlarni yangilanishi kerakligini belgilaydi. Agar siz WHERE bandini o‘tkazib yuborsangiz, barcha yozuvlar yangilanadi!
SQL in’ektsiyasini oldini olish
Har qanday so‘rovning qiymatlaridan qochish yaxshi amaliyot hisoblanadi, shuningdek, yangilanish operatorlarida.
Bu ma’lumotlar bazasini yo‘q qilish yoki noto‘g‘ri ishlatish uchun keng tarqalgan veb-xakerlik texnikasi bo‘lgan SQL in’ektsiyalarining oldini olishdir.
Mysql.connector moduli yangilash operatoridagi qiymatlardan qochish uchun %s to‘ldiruvchidan foydalanadi:
Misol
To‘ldiruvchi %s usuli yordamida qiymatlardan qochish:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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")
Misolni ishga tushirish »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
