Python MySQL Delete From

Eliminare record

Puoi utilizzare la frase "DELETE FROM" per eliminare record da una tabella esistente:

Esempio

Eliminare qualsiasi record con l'indirizzo "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, "record(s) deleted")

Eseguire Esempio

Importante:Attenzione alla frase mydb.commit()Deve essere modificato, altrimenti la tabella non subirà alcuna modifica.

Attenzione alla clausola WHERE nel sintassia DELETE: la clausola WHERE specifica quali record devono essere eliminati. Se si omette la clausola WHERE, verranno eliminati tutti i record!

Prevenire l'iniezione SQL

Anche se non obbligatorio, è una buona abitudine evitare valori di escape in una statement delete.

Questo è fatto per prevenire l'iniezione SQL, una tecnica comune degli hacker di rete che può danneggiare o abusare del tuo database.

Il modulo mysql.connector utilizza segnaposto %s Per evitare valori di escape in una statement delete:

Esempio

Utilizzo di segnaposto %s Metodi per evitare valori di escape:

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 = ("Giardino Giallo 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")

Eseguire Esempio