翼度科技»论坛 编程开发 python 查看内容

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

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
使用 ORDER BY 进行排序

使用 ORDER BY 语句按升序或降序对结果进行排序。
ORDER BY 关键字默认按升序排序。要按降序排序结果,使用 DESC 关键字。
示例按名称按字母顺序排序结果:
  1. import mysql.connector
  2. mydb = mysql.connector.connect(
  3.   host="localhost",
  4.   user="yourusername",
  5.   password="yourpassword",
  6.   database="mydatabase"
  7. )
  8. mycursor = mydb.cursor()
  9. sql = "SELECT * FROM customers ORDER BY name"
  10. mycursor.execute(sql)
  11. myresult = mycursor.fetchall()
  12. for x in myresult:
  13.   print(x)
复制代码
ORDER BY DESC
使用 DESC 关键字以降序排序结果。
示例按名称以字母逆序排序结果:
  1. import mysql.connector
  2. mydb = mysql.connector.connect(
  3.   host="localhost",
  4.   user="yourusername",
  5.   password="yourpassword",
  6.   database="mydatabase"
  7. )
  8. mycursor = mydb.cursor()
  9. sql = "SELECT * FROM customers ORDER BY name DESC"
  10. mycursor.execute(sql)
  11. myresult = mycursor.fetchall()
  12. for x in myresult:
  13.   print(x)
复制代码
删除记录

您可以使用"DELETE FROM"语句从现有表格中删除记录:
示例删除地址为"Mountain 21"的记录:
  1. import mysql.connector
  2. mydb = mysql.connector.connect(
  3.   host="localhost",
  4.   user="yourusername",
  5.   password="yourpassword",
  6.   database="mydatabase"
  7. )
  8. mycursor = mydb.cursor()
  9. sql = "DELETE FROM customers WHERE address = 'Mountain 21'"
  10. mycursor.execute(sql)
  11. mydb.commit()
  12. print(mycursor.rowcount, "条记录已删除")
复制代码
重要提示:请注意语句 mydb.commit()。这是必需的,以使更改生效,否则不会对表格进行更改。
请注意DELETE语法中的WHERE子句:WHERE子句指定应删除哪些记录。如果省略WHERE子句,将删除所有记录!
防止SQL注入
通常认为,转义任何查询的值都是一种良好的做法,甚至在删除语句中也是如此。
这是为了防止SQL注入,这是一种常见的网络黑客技术,可以破坏或滥用您的数据库。
mysql.connector 模块使用占位符 %s 在删除语句中转义值:
示例使用占位符 %s 方法转义值:
  1. import mysql.connector
  2. mydb = mysql.connector.connect(
  3.   host="localhost",
  4.   user="yourusername",
  5.   password="yourpassword",
  6.   database="mydatabase"
  7. )
  8. mycursor = mydb.cursor()
  9. sql = "DELETE FROM customers WHERE address = %s"
  10. adr = ("Yellow Garden 2", )
  11. mycursor.execute(sql, adr)
  12. mydb.commit()
  13. print(mycursor.rowcount, "条记录已删除")
复制代码
最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。
看完如果觉得有帮助,欢迎点赞、收藏关注


来源:https://www.cnblogs.com/xiaowange/p/17826369.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具