1、删除记录
可以使用“DELETE FROM”语句从现有表中删除记录:
例如:
删除地址为“ Mountain 21”的所有记录:
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")
重要!:注意以下语句:mydb.commit()
,进行提交更改,否则不对表进行任何更改。
请注意DELETE语法中的WHERE子句:WHERE子句指定应删除的记录。 如果省略WHERE子句,则将删除所有记录!
2、防止SQL注入
最好在删除语句中转义任何查询的值。
这是为了防止SQL注入,这是破坏或滥用数据库的常见Web黑客技术。
mysql.connector模块使用占位符%s
来转义delete语句中的值:
例如:
通过使用占位符%s
方法转义值:
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")