Python MySQL删除

x33g5p2x  于2021-09-18 转载在 Python  
字(1.1k)|赞(0)|评价(0)|浏览(580)

文章目录

  • 删除记录
  • 防止 SQL 注入

删除记录

您可以使用“DELETE FROM”语句从现有表中删除记录。例如删除地址为“Mountain 21”的任何记录:

# coding=gbk
"""
作者:川川
@时间  : 2021/9/14 20:32
群:970353786
"""
import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",  # 默认用主机名
    user="root",  # 默认用户名
    password="123456",  # mysql密码
    charset='utf8',  # 编码方式
    database="chuan"  # 数据库名称
)

mycursor = mydb.cursor()

sql = "DELETE FROM user WHERE address = 'Mountain 21'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "记录已删除")

运行:

在这里插入图片描述

请注意 DELETE 语法中的 WHERE 子句: WHERE 子句指定应删除哪些记录。如果省略 WHERE 子句,将删除所有记录!

防止 SQL 注入

转义任何查询的值被认为是一种很好的做法,也在删除语句中。这是为了防止 SQL 注入,这是一种常见的网络黑客技术,用于破坏或滥用您的数据库。mysql.connector 模块使用占位符%s来转义 delete 语句中的值:

# coding=gbk
"""
作者:川川
@时间  : 2021/9/14 20:35
群:970353786
"""
import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",  # 默认用主机名
    user="root",  # 默认用户名
    password="123456",  # mysql密码
    charset='utf8',  # 编码方式
    database="chuan"  # 数据库名称
)

mycursor = mydb.cursor()

sql = "DELETE FROM user WHERE address = %s"
adr = ("Ocean blvd 2", )

mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "记录已经删除")

运行:

在这里插入图片描述

相关文章