写点什么

MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录

作者:小万哥
  • 2023-11-11
    广东
  • 本文字数:1103 字

    阅读完需:约 4 分钟

MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录

使用 ORDER BY 进行排序

使用 ORDER BY 语句按升序或降序对结果进行排序。


ORDER BY 关键字默认按升序排序。要按降序排序结果,使用 DESC 关键字。


示例按名称按字母顺序排序结果:


import mysql.connector
mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase")
mycursor = mydb.cursor()
sql = "SELECT * FROM customers ORDER BY name"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult: print(x)
复制代码


ORDER BY DESC


使用 DESC 关键字以降序排序结果。


示例按名称以字母逆序排序结果:


import mysql.connector
mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase")
mycursor = mydb.cursor()
sql = "SELECT * FROM customers ORDER BY name DESC"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult: print(x)
复制代码

删除记录

您可以使用"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, "条记录已删除")
复制代码


重要提示:请注意语句 mydb.commit()。这是必需的,以使更改生效,否则不会对表格进行更改。


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


防止 SQL 注入


通常认为,转义任何查询的值都是一种良好的做法,甚至在删除语句中也是如此。


这是为了防止 SQL 注入,这是一种常见的网络黑客技术,可以破坏或滥用您的数据库。


mysql.connector 模块使用占位符 %s 在删除语句中转义值:


示例使用占位符 %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, "条记录已删除")
复制代码

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。


看完如果觉得有帮助,欢迎点赞、收藏关注



发布于: 刚刚阅读数: 6
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录_Python_小万哥_InfoQ写作社区