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

news/2024/11/30 5:34:11/

使用 ORDER BY 进行排序

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

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

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

import mysql.connectormydb = 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.connectormydb = 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.connectormydb = 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.connectormydb = 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,关注后即可获取最新文章推送

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


http://www.ppmy.cn/news/1379597.html

相关文章

第十五届蓝桥杯-UART接收不定长指令的处理

学习初衷: 不仅仅为了比赛! 目录 一、问题引入 二、UART常用的三种工作模式 1.UART工作在中断模式 2.UART工作在DMA模式下 3.uart工作在接收转空闲的模式下 三、获取指令中需要的数据 四、printf函数的实现 一、问题引入 问题引入:请…

在win7中快速安装vue2

首先要求我们安装node.js 如果没有安装可以点击跳转 安装node 1.配置环境变量 其实安装完node,就自动在path里增加环境变量,但是为了以后的本地部署项目,我们需要找到node.js的安装根目录 1.1在当中新建"node_cache"缓存和&qu…

Java后台面试相关知识点解析

文章目录 JavaJava中四种引用类型及使用场景集合HashMap源码及扩容策略HashMap死循环问题ConcurrentHashMap与HashtableConCurrentHashMap 1.8 相比 1.7 判断单链表是否有环,并且找出环的入口IO线程池线程池的几种创建方式判断线程是否可以回收线程池的7大核心参数线…

物奇平台超距断连无蓝牙广播问题解决方法

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台超距断连无蓝牙广播问题解决方法 一 问题反馈 二解决方法: 1 运行流程分析 对应代…

流量分析-webshell管理工具

文章目录 CSCS的工作原理CS流量特征 菜刀phpJSPASP 蚁剑冰蝎哥斯拉 对于常见的webshell管理工具有中国菜刀,蚁剑,冰蝎,哥斯拉。同时还有渗透工具cobaltstrike(CS)。 CS CobaltStrike有控制端,被控端,服务端。(相当于黑…

android JNI float *转MutableList

data class Test(var data:MutableList<Float> )JNIEXPORT void JNICALL Java_NativeUtils_assignFloatArrayToHealth(JNIEnv *env, jclass clazz, jobject obj, jfloatArray cData) {jclass objClass env->GetObjectClass(obj);// 获取 Test类中的 data 属性jfieldI…

基于MPPT的太阳能光伏电池simulink性能仿真,对比扰动观察法,增量电导法,恒定电压法

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 扰动观察法 (Perturb and Observe Method) 4.2 增量电导法 (Incremental Conductance Method) 4.3 恒定电压法 (Constant Voltage Method) 5.完整工程文件 1.课题概述 在simulink中&#xff0c;实…

Unity:Animation 三 Playable、ImportModel

目录​​​​​​​ 1. Playables API 1.1 Playable vs Animation 1.2 Advantages of using the Playables API 1.3 PlayableGraph Visualizer 2. Creating models outside of Unity 2.1 Preparing your model files for export 2.1.1 Scaling factors 2.1.2 优化模型文…