Python MySQL Delete From

Suppression d'enregistrements

Vous pouvez supprimer des enregistrements d'une table existante en utilisant l'instruction "DELETE FROM" :

Exemple

Supprimez tous les enregistrements dont l'adresse est "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")

Exécuter l'exemple

Important :Veuillez noter l'instruction mydb.commit()Il doit être modifié, sinon la table ne subira aucune modification.

Veuillez noter la clause WHERE dans la syntaxe DELETE : la clause WHERE spécifie quels enregistrements doivent être supprimés. Si la clause WHERE est omise, tous les enregistrements seront supprimés !

Prévenir les injections SQL

Il est également une bonne habitude d'échapper toute valeur de requête dans une instruction delete.

Ceci est fait pour prévenir les injections SQL, une technique courante des pirates informatiques, qui peut corrompre ou abuser de votre base de données.

Le module mysql.connector utilise des opérateurs de remplacement %s Pour échapper aux valeurs dans une instruction delete :

Exemple

Utilisation de l'opérateur de remplacement %s Méthode pour échapper aux valeurs :

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

mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")

Exécuter l'exemple