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