Python MySQL Delete From

Löschen von Einträgen

Sie können mit dem "DELETE FROM"-Statement Einträge aus einer bestehenden Tabelle löschen:

Beispiel

Löschen Sie alle Einträge mit der Adresse "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, "Datensätze gelöscht")

Führen Sie das Beispiel aus

Wichtig:Bitte beachten Sie den Ausdruck mydb.commit()Muss geändert werden, sonst wird die Tabelle keine Änderungen durchführen.

Bitte beachten Sie die WHERE-Klausel im DELETE-Syntax: Die WHERE-Klausel bestimmt, welche Zeilen gelöscht werden sollen. Fehlt die WHERE-Klausel, werden alle Zeilen gelöscht!

Verhindern Sie SQL-Injection

Es ist auch eine gute Gewohnheit, jeden Wert in einer delete-Anweisung zu escapen.

Dies geschieht, um SQL-Injection zu verhindern, eine häufige Hacker-Technik, die Ihre Datenbank beschädigen oder missbrauchen kann.

Der mysql.connector-Modul verwendet Platzhalter %s Um Werte in delete-Anweisungen zu escapen:

Beispiel

Verwenden Sie Platzhalter %s Methoden, um Werte zu escapen:

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 = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "Datensätze gelöscht")

Führen Sie das Beispiel aus