数据库
首页 > 数据库> > Python MySQL删除

Python MySQL删除

作者:互联网

目录

删除记录

防止 SQL 注入


删除记录

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

# coding=gbk
#连接
import pymysql

mydb = pymysql.connect(
    
    host="localhost", #默认用主机名
    port=3306,
    user="root",  #默认用户名
    password="123456",   #mysql密码
    database='student', #库名
    charset='utf8'   #编码方式
)

print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()

#创建SQL查询语句并逆序排序
sql = "DELETE FROM stu WHERE name = '笨小孩'"
#执行sql语句
mycursor.execute(sql)
#提交语句
mydb.commit()
#打印
print(mycursor.rowcount, "记录已删除")

运行:


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

防止 SQL 注入

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

# coding=gbk
#连接
import pymysql

mydb = pymysql.connect(
    
    host="localhost", #默认用主机名
    port=3306,
    user="root",  #默认用户名
    password="123456",   #mysql密码
    database='student', #库名
    charset='utf8'   #编码方式
)

print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()

#创建SQL查询语句并逆序排序
sql = "DELETE FROM stu WHERE name = %s"
adr = ("懒洋洋",)
#执行sql语句
mycursor.execute(sql,adr)
#提交语句
mydb.commit()
#打印
print(mycursor.rowcount, "记录已删除")

运行:

标签:语句,删除,Python,WHERE,sql,mycursor,MySQL,mydb
来源: https://blog.csdn.net/qq_25990967/article/details/121446189