Python MySQL Delete From

Poista tietue

Voit käyttää "DELETE FROM" -lauseen poistaaksesi tietueita olemassa olevasta taulusta:

Esimerkki

Poista kaikki osoitteessa "Mountain 21" olevat rekisterit:

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, "rekisteriä poistettu")

Suorita Esimerkki

Tärkeää:Huomaa lause mydb.commit()On tehtävä muutoksia, muuten taulu ei muutu mitenkään.

Huomaa DELETE -syntaksin WHERE -lause: WHERE -lause määrittää, mitkä rekisterit poistetaan. Jos WHERE -lausea jätetään pois, kaikki rekisterit poistetaan!

Estä SQL-injektio

On hyvä tapa escampoita myös kyselyssä käytettävät arvot delete-lauseessa.

Tämä tehdään SQL-injektion estämiseksi, mikä on yleinen verkkohaitta, joka voi rikkoa tai väärinkäyttää tietokantaa.

mysql.connector -moduuli käyttää paikkansijoittimia %s Escampoita arvot delete-lauseessa:

Esimerkki

Käytä paikkansijoittimia %s Metodi arvojen escampoimiseksi:

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, "rekisteriä poistettu")

Suorita Esimerkki