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中EXISTS与IN用法使用与对比分析

    MySQL中EXISTS与IN用法使用与对比分析

    在 MySQL 中,EXISTS 和 IN 都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比
    2025-08-08
  • MySQL全文索引在数据库中的应用和优势(模糊查询不用like+%)

    MySQL全文索引在数据库中的应用和优势(模糊查询不用like+%)

    全文索引技术可以有效地从大量文本中检索信息,适用于搜索引擎和电商平台等场景,InnoDB从MySQL5.6开始支持全文索引,使用倒排索引实现,全文检索分为自然语言搜索、布尔搜索和查询扩展搜索三种模式,全文索引提高了模糊查询的效率,优化了基于文本的搜索查询
    2024-09-09
  • MySQL多表链接查询核心优化

    MySQL多表链接查询核心优化

    本篇文章主要介绍了MySQL多表链接查询核心优化,数据库对数据表的多表查询是必不可少的,所以涉及到性能优化,有需要的可以了解一下。
    2016-11-11
  • 基于JPQL实现纯SQL语句方法详解

    基于JPQL实现纯SQL语句方法详解

    这篇文章主要介绍了基于JPQL实现纯SQL语句方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • MYSQL如何查询成绩为前5名的学生

    MYSQL如何查询成绩为前5名的学生

    这篇文章主要介绍了MYSQL如何查询成绩为前5名的学生问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 一文教你快速生成MySQL数据库关系图

    一文教你快速生成MySQL数据库关系图

    我们经常会用到一些表的数据库关系图,下面这篇文章主要给大家介绍了关于生成MySQL数据库关系图的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • MYSQL数据库表结构优化方法详解

    MYSQL数据库表结构优化方法详解

    这篇文章主要介绍了MYSQL数据库表结构优化方法,总结分析了mysql针对表结构优化的数据类型选择、范式化操作、表的拆分等相关使用技巧,需要的朋友可以参考下
    2019-08-08
  • MySQL与PHP的基础与应用专题之表连接

    MySQL与PHP的基础与应用专题之表连接

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,本系列将带你掌握php与mysql的基础应用,本篇表连接开始
    2022-02-02
  • mysql连接过多和死掉以及拒绝服务的解决方法

    mysql连接过多和死掉以及拒绝服务的解决方法

    mysql连接过多和死掉以及拒绝服务的解决方法...
    2007-12-12
  • 如何在服务器部署MySQL

    如何在服务器部署MySQL

    这篇文章主要介绍了如何在服务器部署MySQL,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-04-04

最新评论