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

使用 ORDER BY 进行排序

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

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

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

1import mysql.connector 2 3mydb = mysql.connector.connect( 4 host="localhost", 5 user="yourusername", 6 password="yourpassword", 7 database="mydatabase" 8) 9 10mycursor = mydb.cursor() 11 12sql = "SELECT * FROM customers ORDER BY name" 13 14mycursor.execute(sql) 15 16myresult = mycursor.fetchall() 17 18for x in myresult: 19 print(x)

ORDER BY DESC

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

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

1import mysql.connector 2 3mydb = mysql.connector.connect( 4 host="localhost", 5 user="yourusername", 6 password="yourpassword", 7 database="mydatabase" 8) 9 10mycursor = mydb.cursor() 11 12sql = "SELECT * FROM customers ORDER BY name DESC" 13 14mycursor.execute(sql) 15 16myresult = mycursor.fetchall() 17 18for x in myresult: 19 print(x)

删除记录

您可以使用"DELETE FROM"语句从现有表格中删除记录:

示例删除地址为"Mountain 21"的记录:

1import mysql.connector 2 3mydb = mysql.connector.connect( 4 host="localhost", 5 user="yourusername", 6 password="yourpassword", 7 database="mydatabase" 8) 9 10mycursor = mydb.cursor() 11 12sql = "DELETE FROM customers WHERE address = 'Mountain 21'" 13 14mycursor.execute(sql) 15 16mydb.commit() 17 18print(mycursor.rowcount, "条记录已删除")

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

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

防止SQL注入

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

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

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

示例使用占位符 %s 方法转义值:

1import mysql.connector 2 3mydb = mysql.connector.connect( 4 host="localhost", 5 user="yourusername", 6 password="yourpassword", 7 database="mydatabase" 8) 9 10mycursor = mydb.cursor() 11 12sql = "DELETE FROM customers WHERE address = %s" 13adr = ("Yellow Garden 2", ) 14 15mycursor.execute(sql, adr) 16 17mydb.commit() 18 19print(mycursor.rowcount, "条记录已删除")

最后

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

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

点赞
收藏

评论区

加载中...

相关推荐

【排序算法动画解】排序介绍及冒泡排序

本文为系列专题的第12篇文章。1.2.3.4.5.6.7.8.9.10.11.本文先简单介绍一下什么是排序,然后再结合动画介绍暴力排序和冒泡排序。1.什么是排序?排序在日常生活中无处不在。比如考试成绩的排名、体育课的从低到高的队形、网购时按价格升序排列或降序排列等等。|姓名|学号|班级|成绩|||||

mysql 数据库group by 按排序取值

mysql数据库groupby按排序取值 mysql5.7以后,groupby想要按照排序的顺序来取值,在子结果集中要有union,groupby等操作,不然按照id默认排序来取值示例:数据库:score表id user\_id num1 100     952 100     963

Mysql order by与limit混用陷阱

在Mysql中我们常常用orderby来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select\from表名orderby排序字段limtM,N。但是这种写法却隐藏着较深的使用陷阱。在排序字段有数据重复的情况下,会很容易出现排序结果与预期不一致的问题。比如现在有一张user表,表结构及数据如下:

Python MySQL Order By

对结果排序可以使用ORDERBY语句,按升序或降序对结果排序。默认情况下,ORDERBY关键字按升序排列结果。要按降序排列,可使用DESC关键字。示例按name的字母顺序排列结果:importmysql.connectormydbmysql.connector.connect

OrderBy和OrderByDescending排序

昨天有练习对数字阵列进行排序,《C阵列Array排序(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Finsus%2Fp%2F10825174.html)》https://www.cnblogs.com/insus/p/10825174.html

MYSQL常用查询

一、MYSQL查询的五种子句where(条件查询)、having(筛选)、groupby(分组)、orderby(排序)、limit(限制结果数)【1】where:比较运算符    ,<,,!(<),,<in(param1,p