Python MySQL Delete From

Ta bort poster

Du kan använda "DELETE FROM"-uttrycket för att ta bort poster från en befintlig tabell:

Exempel

Ta bort alla poster med adress "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, "post(s) deleted")

Kör Exempel

Viktigt:Vänligen notera uttrycket mydb.commit()Det behöver ändras, annars kommer tabellen inte att ha några förändringar.

Vänligen notera WHERE-satsen i DELETE-syntaksen: WHERE-satsen specificerar vilka poster som ska tas bort. Om WHERE-satsen utelämnas kommer alla poster att tas bort!

Förhindra SQL-injektion

Det är också en bra vana att escapera alla värden i en query i delete-satsen.

Detta är för att förhindra SQL-injektion, en vanlig nätverkshackareteknik som kan skada eller missbruka din databas.

mysql.connector-modulen använder placeholder %s För att escapera värden i delete-satsen:

Exempel

Använda placeholder %s Metoder för att escapera värden:

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, "post(s) deleted")

Kör Exempel