Home » python » MySQL Delete di Python

MySQL Delete di Python

by Catur Kurnia Sari
by Catur Kurnia Sari

Menghapus Record

Kita dapat menghapus record dari sebuah tabel yang ada dengan menggunakan pernyataan “DELETE FROM”.

Contoh:
Hapus semua record yang alamatnya adalah “Mountain 21”

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  password="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = 'Mountain 21'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")

Penting!: Perhatikan pernyataan: mydb.commit(). Diperlukan untuk melakukan perubahan, jika tidak ada maka tidak ada perubahan yang dilakukan pada tabel.

Perhatikan klausa WHERE dalam sintaks DELETE: Klausa WHERE menentukan record mana yang harus dihapus. Jika kita menghilangkan klausa WHERE, semua record akan dihapus!

Mencegah Injeksi SQL

Menghindari nilai dianggap sebagai praktik yang baik dalam pernyataan DELETE.

Hal ini juga dimaksudkan untuk mencegah injeksi SQL, yang merupakan teknik peretasan web umum untuk menghancurkan atau menyalahgunakan database.

Modul mysql.connector menggunakan placeholder% s untuk menghindar dari nilai dalam pernyataan delete.

Contoh:
Menghindari nilai dengan menggunakan metode% s placeholder

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  password="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")

You may also like