Python mengubah table

Ubah table

Anda boleh menggunakan kalimat "UPDATE" untuk mengubah rekod yang ada dalam table:

Contoh

Tukar alamat baris "Valley 345" dengan "Canyoun 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, "rekod(oes) berubah")

Jalankan Contoh

Perhatian:Sila pastikan kalimat mydb.commit()Perubahan perlu dilakukan, atau table tidak akan ada perubahan apapun.

Sila pastikan kalimat WHERE dalamUPDATE: WHERE kalimat menentukan rekod yang sepatutnya diubah. Jika WHERE kalimat diabaikan, semua rekod akan diubah!

Mengelakkan SQL injection

Biasa baik untuk mengelakkan nilai apa saja yang diquery dalam perintah update.

Tindakan ini adalah untuk mengelakkan SQL injection, yang adalah teknik penipuan jaringan yang biasa, dapat merusak atau mengabusekan pangkalan data anda.

modul mysql.connector menggunakan penanda: %s untuk mengelakkan nilai dalam perintah delete:

Contoh

Gunakan kaedah penanda %s untuk mengelakkan nilai:

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, "rekod(oes) berubah")

Jalankan Contoh