MySQL 基础学习(4):条件查询(WHERE)更新操作(UPDATE)删除操作(DELETE)分页查询(LIMIT)

ops/2025/2/3 7:36:31/

在本篇文章中,我们将深入探讨 MySQL 的 WHERE 条件查询、更新操作(UPDATE)以及删除操作(DELETE),并通过实例帮助你更好地掌握这些功能。

一、条件查询(WHERE)

WHERE 子句用于筛选符合特定条件的数据,是 MySQL 查询中最重要的部分之一。

1. 比较运算符

以下是常用的比较运算符及其含义:

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于
!=, <>不等于
BETWEEN a AND b范围匹配,a <= value <= b
IN (a, b, c)值是否在列表中
IS NULL判断值是否为 NULL
LIKE模糊匹配(% 表示任意字符)
示例
  1. 查询英语成绩小于 60 的学生:
SELECT name, english FROM exam_result WHERE english < 60;
  1. 查询语文成绩大于英语成绩的学生:
SELECT name, chinese, english FROM exam_result WHERE chinese > english;
  1. 查询总分小于 200 的学生:
SELECT name, chinese + math + english AS total FROM exam_result WHERE chinese + math + english < 200;

2. 逻辑运算符

运算符说明
AND所有条件为真时,结果为真
OR任意条件为真时,结果为真
NOT条件为真时,结果为假
示例
  1. 查询语文和英语成绩都大于 80 的学生:
SELECT * FROM exam_result WHERE chinese > 80 AND english > 80;
  1. 查询语文成绩大于 80 或英语成绩大于 80 的学生:
SELECT * FROM exam_result WHERE chinese > 80 OR english > 80;
  1. 查询语文成绩不在 80 到 90 之间的学生:
SELECT name, chinese FROM exam_result WHERE NOT (chinese BETWEEN 80 AND 90);

3. 模糊查询

模糊查询使用 LIKE,结合 %_ 实现灵活匹配。

  • %:匹配任意字符(包括 0 个字符)。
  • _:匹配任意单个字符。
示例
  1. 查询名字以“张”开头的学生:
SELECT name FROM exam_result WHERE name LIKE '张%';
  1. 查询名字中包含“李”的学生:
SELECT name FROM exam_result WHERE name LIKE '%李%';
  1. 查询名字为三个字的学生:
SELECT name FROM exam_result WHERE name LIKE '___';
  1. 查询名字以“张”开头且为两个字的学生:
SELECT name FROM exam_result WHERE name LIKE '张_';
  1. 查询名字以“李”结尾且中间包含任意多个字符的学生:
SELECT name FROM exam_result WHERE name LIKE '%李';

二、更新操作(UPDATE)

UPDATE 语句用于修改表中的数据,基本语法如下:

UPDATE 表名 SET 列名 = 值 [, 列名 = 值 ...] WHERE 条件;
示例
  1. 将名字为“孙悟空”的学生数学成绩更新为 80:
UPDATE exam_result SET math = 80 WHERE name = '孙悟空';
  1. 将所有学生的语文成绩增加 10 分:
UPDATE exam_result SET chinese = chinese + 10;
  1. 将总分排名前三的学生数学成绩增加 30 分:
UPDATE exam_result SET math = math + 30 ORDER BY chinese + math + english LIMIT 3;

三、删除操作(DELETE)

DELETE 语句用于删除表中的数据,基本语法如下:

DELETE FROM 表名 WHERE 条件;
示例
  1. 删除名字为“孙悟空”的学生记录:
DELETE FROM exam_result WHERE name = '孙悟空';
  1. 删除所有英语成绩低于 60 的学生记录:
DELETE FROM exam_result WHERE english < 60;
  1. 清空表中所有数据(不删除表结构):
TRUNCATE TABLE exam_result;

四、分页查询与性能优化

分页查询(LIMIT)

分页查询用于限制返回的记录条数,语法如下:

SELECT * FROM 表名 LIMIT 偏移量, 行数;
示例
  1. 查询前 3 条记录:
SELECT * FROM exam_result LIMIT 3;
  1. 查询第 4 到第 6 条记录:
SELECT * FROM exam_result LIMIT 3, 3;

性能优化建议

  1. WHERE 子句优化:尽量使用索引列参与条件判断。
  2. 避免全表扫描:通过 EXPLAIN 分析查询计划,优化慢查询。
  3. 分页优化:对于大表分页查询,避免使用较大的偏移量,可以结合子查询优化。

五、总结

在 MySQL 的数据操作中,条件查询、更新和删除是最常用的功能。熟练使用 WHERE 子句可以帮助我们快速筛选所需数据,而 UPDATEDELETE 操作需要特别注意条件的准确性,以免误操作导致数据丢失。在实际开发中,还需结合性能优化方法,确保数据库的高效运行。

希望本文对你理解 MySQL 操作有所帮助!如果你有任何疑问或补充,欢迎在评论区留言讨论!


http://www.ppmy.cn/ops/155246.html

相关文章

蓝桥杯模拟算法:蛇形方阵

P5731 【深基5.习6】蛇形方阵 - 洛谷 | 计算机科学教育新生态 我们只要定义两个方向向量数组&#xff0c;这种问题就可以迎刃而解了 比如我们是4的话&#xff0c;我们从左向右开始存&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4 到5的时候y就大于4了就是越界了&…

数据挖掘常用算法模型简介

以下是数据挖掘中常用的算法模型及其简称、英文全称和使用场景的简要介绍&#xff1a; 1. 决策树&#xff08;Decision Tree, DT&#xff09; 常用算法&#xff1a; CART: Classification and Regression TreeID3: Iterative Dichotomiser 3C4.5: 基于 ID3 改进 使用场景&…

BGP边界网关协议(Border Gateway Protocol)路由聚合详解

一、路由聚合 1、意义 在大规模的网络中&#xff0c;BGP路由表十分庞大&#xff0c;给设备造成了很大的负担&#xff0c;同时使发生路由振荡的几率也大大增加&#xff0c;影响网络的稳定性。 路由聚合是将多条路由合并的机制&#xff0c;它通过只向对等体发送聚合后的路由而…

关于matlab中rotm2eul的注释错误问题

在这里&#xff0c;写的是默认的旋转矩阵的顺序为‘ZYX’&#xff0c;对应的旋转轴的顺序为Z、Y、X。 包括网页上写的是 但是实际上&#xff0c;在实际的应用中&#xff0c;旋转的顺序应该是&#xff0c;X、Y、Z轴的顺序 即RRzRyRx 但是在矩阵运算中&#xff0c;由于YRzRyRx*X…

w186格障碍诊断系统spring boot设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

自制虚拟机(C/C++)(二、分析引导扇区,虚拟机读二进制文件img软盘)

先修复上一次的bug&#xff0c;添加新指令&#xff0c;并增加图形界面 #include <graphics.h> #include <conio.h> #include <windows.h> #include <commdlg.h> #include <iostream> #include <fstream> #include <sstream> #inclu…

ARM TEE

在ARM的语境中&#xff0c;TEE是Trusted Execution Environment&#xff08;可信执行环境&#xff09;的缩写。ARM TEE就是基于ARM架构实现的可信执行环境&#xff0c;以下是具体介绍&#xff1a; 定义与原理 定义&#xff1a;ARM TEE是基于独立硬件&#xff0c;和主操作系统…

蓝桥杯单片机第七届省赛

前言 这套题不难&#xff0c;相对于第六套题这一套比较简单了&#xff0c;但是还是有些小细节要抓 题目 OK&#xff0c;以上就是全部的题目了&#xff0c;这套题目相对来说逻辑比较简单&#xff0c;四个按键&#xff0c;S4控制pwm占空比&#xff0c;S5控制计时时间&#xff0…