Python MySQL Delete From

Hapus rekam

Anda dapat menggunakan kalimat "DELETE FROM" untuk menghapus rekam dari tabel yang sudah ada:

Contoh

Hapus semua rekam dengan alamat "Mountain 21"

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Mountain 21'
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "catatan(s) dihapus")

Jalankan Contoh

penting:Perhatikan kalimat mydb.commit()Perubahan harus dilakukan, jika tidak tabel tidak akan berubah sama sekali.

Perhatikan kalimat WHERE dalam sintaks DELETE: Kalimat WHERE menentukan rekam yang harus dihapus. Jika kalimat WHERE diabaikan, maka semua rekam akan dihapus!

Mencegah SQL injection

Mengescape nilai yang dieksekusi dalam pernyataan delete juga adalah kebiasaan yang bagus.

Hal ini dilakukan untuk mencegah SQL injection, yang adalah teknik penyerangan jaringan yang umum yang dapat merusak atau menyalahgunakan database Anda.

Modul mysql.connector menggunakan penanda tempat %s Untuk mengescape nilai dalam pernyataan delete:

Contoh

Penggunaan penanda tempat %s Metode untuk mengescape nilai:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address =" %s"
adr = ("Taman Kuning 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "catatan(s) dihapus")

Jalankan Contoh