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

小万哥
• 阅读 318

使用 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,或者扫描下方二维码,关注公众号,即可获取最新文章。

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

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

点赞
收藏
评论区
推荐文章
22 22
3年前
【排序算法动画解】排序介绍及冒泡排序
本文为系列专题的第12篇文章。1.2.3.4.5.6.7.8.9.10.11.本文先简单介绍一下什么是排序,然后再结合动画介绍暴力排序和冒泡排序。1.什么是排序?排序在日常生活中无处不在。比如考试成绩的排名、体育课的从低到高的队形、网购时按价格升序排列或降序排列等等。|姓名|学号|班级|成绩|||||
Wesley13 Wesley13
3年前
mysql 数据库group by 按排序取值
mysql数据库groupby按排序取值 mysql5.7以后,groupby想要按照排序的顺序来取值,在子结果集中要有union,groupby等操作,不然按照id默认排序来取值示例:数据库:score表id user\_id num1 100     952 100     963
Wesley13 Wesley13
3年前
Mysql order by与limit混用陷阱
在Mysql中我们常常用orderby来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select\from表名orderby排序字段limtM,N。但是这种写法却隐藏着较深的使用陷阱。在排序字段有数据重复的情况下,会很容易出现排序结果与预期不一致的问题。比如现在有一张user表,表结构及数据如下:
Stella981 Stella981
3年前
Python MySQL Order By
对结果排序可以使用ORDERBY语句,按升序或降序对结果排序。默认情况下,ORDERBY关键字按升序排列结果。要按降序排列,可使用DESC关键字。示例按name的字母顺序排列结果:importmysql.connectormydbmysql.connector.connect
Stella981 Stella981
3年前
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
Wesley13 Wesley13
3年前
MYSQL常用查询
一、MYSQL查询的五种子句where(条件查询)、having(筛选)、groupby(分组)、orderby(排序)、limit(限制结果数)【1】where:比较运算符    ,<,,!(<),,<in(param1,p
菜园前端 菜园前端
1年前
排序和搜索介绍
原文链接:排序和搜索不仅在工作中会经常遇到,在面试中也是高频考点,所以这个是必须要懂的。排序:把某个乱序的数组变成升序或者降序的数组。例如在我们平常开发中,例如要对一个表格进行日期的升序或降序排列。在JavaScript中通常使用数组的sort方法实现。搜
研发日常踩坑-Mysql分页数据重复 | 京东云技术团队
踩坑描述:写分页查询接口,orderby和limit混用的时候,出现了排序的混乱情况在进行第N页查询时,出现与第一前面页码的数据一样的记录。问题在MySQL中分页查询,我们经常会用limit,如:limit(0,20)表示查询第一页的20条数据,limit
小万哥 小万哥
10个月前
深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
PythonMongoDB排序对结果进行排序使用sort()方法对结果进行升序或降序排序。sort()方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。示例按名称按字母顺序对结果进行排序:pythonimportpymongomycl
小万哥 小万哥
6个月前
NumPy 数组排序、过滤与随机数生成详解
NumPy数组排序排序数组排序数组意味着将元素按特定顺序排列。顺序可以是数字大小、字母顺序、升序或降序等。NumPy的ndarray对象提供了一个名为sort()的函数,用于对数组进行排序。示例:pythonimportnumpyasnparrnp.arr