Python MySQL Delete From By
Vee Rekord uit
Jy kan rekords uit 'n bestaande tabel uitvee deur die "DELETE FROM"-stelling te gebruik:
Voorbeeld
Vee enige rekord uit waar die adres "Mountain 21" is:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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")
Belangrik!: Let op die stelling:
mydb.commit()
. Dit word vereis om die veranderinge aan te bring, anders word geen veranderinge aan die tabel aangebring nie.
Let op die WHERE-klousule in die DELETE-sintaksis: Die WHERE-klousule spesifiseer watter rekord(s) wat uitgevee moet word. As jy die WHERE-klousule weglaat, sal alle rekords uitgevee word!
Voorkom SQL-inspuiting
Dit word as 'n goeie praktyk beskou om die waardes van enige navraag te ontsnap, ook in delete-stellings.
Dit is om SQL-inspuitings te voorkom, wat 'n algemene webkrakertegniek is om jou databasis te vernietig of te misbruik.
Die mysql.connector-module gebruik die plekhouer %s
om waardes in die delete-stelling te ontsnap:
Voorbeeld
Ontsnap waardes deur die plekhouermetode %s
te gebruik:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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, "record(s) deleted")