Python MySQL Delete From By¶
- You can delete records from an existing table by using the “DELETE FROM” statement:
In [19]:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="itronix"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Otawa 4'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
Prevent SQL Injection¶
- It is considered a good practice to escape the values of any query, also in delete statements.
- This is to prevent SQL injections, which is a common web hacking technique to destroy or misuse your database.
- The mysql.connector module uses the placeholder %s to escape values in the delete statement:
In [20]:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="itronix"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = %s"
adr = ("dublin 4", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")