MySQL 使用 ORDER BY 排序和 DELETE 删除记录的操作过程

 更新时间:2023年11月13日 09:22:09   作者:小万哥  
这篇文章主要介绍了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, "条记录已删除")

到此这篇关于MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录的文章就介绍到这了,更多相关mysql ORDER BY 排序和 DELETE 删除记录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql中的NULL和Empty String

    Mysql中的NULL和Empty String

    这篇文章主要介绍了Mysql中的NULL和Empty String知识,需要的朋友可以参考下
    2017-12-12
  • mysql 无限级分类实现思路

    mysql 无限级分类实现思路

    关于该问题,暂时自己还没有深入研究,在网上找到几种解决方案,各有优缺点。
    2011-08-08
  • MySQL存储过程in、out和inout参数示例和总结

    MySQL存储过程in、out和inout参数示例和总结

    这篇文章主要给大家介绍了关于MySQL存储过程in、out和inout参数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Spark SQL常见4种数据源详解

    Spark SQL常见4种数据源详解

    这篇文章主要介绍了Spark SQL常见4种数据源(详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • Mysql8.0不存在mysql.proc表的解决

    Mysql8.0不存在mysql.proc表的解决

    MySQL 8.0中官方移除了proc表,MySQL 5.7版本中还是存在proc表的,本文就介绍MySQL 8.0的替代方案,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 将MySQL查询结果按值排序的简要教程

    将MySQL查询结果按值排序的简要教程

    这篇文章主要介绍了将MySQL查询结果按值排序的简要教程,不过同样需要对结果进行检查而决定是否使用order by等其他语句,需要的朋友可以参考下
    2015-12-12
  • 了解MySQL查询语句执行过程(5大组件)

    了解MySQL查询语句执行过程(5大组件)

    这篇文章主要介绍了了解MySQL查询语句执行过程(5大组件),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • MySQL基础入门教程之事务

    MySQL基础入门教程之事务

    事务主要用于处理操作量大,复杂度高的数据,下面这篇文章主要给大家介绍了关于MySQL基础入门教程之事务的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 在MySQL字段中使用逗号分隔符的方法分享

    在MySQL字段中使用逗号分隔符的方法分享

    大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性
    2012-06-06
  • MySQL连接无法解析HOST主机名的解决方法

    MySQL连接无法解析HOST主机名的解决方法

    这篇文章主要介绍了MySQL连接无法解析HOST主机名的解决方法,需要的朋友可以参考下
    2014-02-02

最新评论