MySQL数据库CRUD(2)
一、SELECT 进阶指定列与表达式查询1. 指定列查询我们可以只查询表中需要的列而不是*代表的所有列这样更高效sql-- 查询学生的 id、姓名和语文成绩 SELECT id, name, chinese FROM exam;列名的顺序可以随意排列与表定义的顺序无关。只查询需要的列能减少数据传输量提升查询效率。2. 查询字段为表达式在SELECT子句中我们可以对列进行运算得到临时的计算结果不会修改表中真实数据sql-- 给所有学生的语文成绩加10分仅展示不修改原数据 SELECT id, name, chinese 10 FROM exam; -- 计算三科总分 SELECT id, name, chinese math english FROM exam;执行流程从物理表中读取原始数据在内存中对列值进行运算合并表达式结果返回给客户端3. 别名AS为了让查询结果的表头更易读可以给列或表达式起别名sql-- 给总分表达式起别名 SELECT id, name, chinese math english AS 总分 FROM exam; -- AS 关键字可以省略 SELECT id, name, chinese math english 总分 FROM exam; -- 别名含空格时必须加引号 SELECT id, name, chinese math english AS 总分 三科 FROM exam;4. 去重查询DISTINCT使用DISTINCT可以去除结果集中的重复记录sql-- 查询所有不重复的数学成绩 SELECT DISTINCT math FROM exam; -- 多列去重要求所有列的值都相同才会被判定为重复 SELECT DISTINCT id, math FROM exam;⚠️ 注意生产环境中不要不加限制地使用SELECT *或SELECT DISTINCT数据量过大时会严重消耗服务器资源。二、WHERE 条件查询WHERE子句用于过滤数据只返回满足条件的记录是查询中最核心的部分。1. 比较运算符表格运算符说明示例等于english 60/大于 / 小于math 80/大于等于 / 小于等于chinese 70!/不等于id 5BETWEEN ... AND ...范围匹配包含边界math BETWEEN 70 AND 90IN (v1, v2...)集合匹配math IN (78, 79, 99)LIKE模糊匹配name LIKE 孙%IS NULL/IS NOT NULL判断是否为 NULLenglish IS NULL 特别注意在 MySQL 中判断 NULL 必须用IS NULL或IS NOT NULL不能用 NULL因为NULL NULL的结果是 NULL不是 TRUE。! NULL的结果永远是 NULL不会匹配到任何记录。2. 逻辑运算符用于组合多个查询条件表格运算符说明示例AND逻辑与两个条件都为真结果才为真chinese 80 AND english 80OR逻辑或只要一个条件为真结果就为真chinese 90 OR english 90NOT逻辑非取反math NOT IN (78, 79, 99)3. 经典案例查询英语成绩低于 60 分的同学sqlSELECT name, english FROM exam WHERE english 60;查询语文成绩大于英语成绩的同学sqlSELECT name, chinese, english FROM exam WHERE chinese english;查询总分在 200 分以上的同学sqlSELECT name, chinese math english AS 总分 FROM exam WHERE chinese math english 200;⚠️ 注意WHERE子句中不能使用别名因为 SQL 执行顺序是FROM → WHERE → SELECT别名在WHERE执行时还未定义。4. 模糊查询LIKELIKE用于进行部分匹配配合通配符使用%匹配任意长度包括 0的任意字符_匹配任意单个字符sql-- 查询姓孙的同学 SELECT name FROM exam WHERE name LIKE 孙%; -- 查询名字中包含明的同学 SELECT name FROM exam WHERE name LIKE %明%; -- 查询名字以羽结尾且名字长度为2的同学 SELECT name FROM exam WHERE name LIKE _羽;⚠️ 性能提示LIKE %xxx或LIKE %xxx%会导致索引失效查询效率较低应尽量避免。三、排序与分页查询1. 排序查询ORDER BY使用ORDER BY对结果集进行排序默认是升序ASC也可以指定降序DESCsql-- 按数学成绩升序排列默认 ASC SELECT * FROM exam ORDER BY math; -- 按总分降序排列 SELECT id, name, chinese math english AS 总分 FROM exam ORDER BY 总分 DESC; -- 多列排序先按语文降序再按数学升序 SELECT * FROM exam ORDER BY chinese DESC, math ASC;排序可以基于列名也可以基于别名或表达式。SQL 执行顺序FROM → WHERE → SELECT → ORDER BY所以ORDER BY中可以使用别名。2. 分页查询LIMIT当数据量很大时需要分页展示LIMIT子句用于限制返回的行数sql-- 只查询前3条记录 SELECT * FROM exam LIMIT 3; -- 从第4条记录开始查询5条分页页码2每页5条 SELECT * FROM exam LIMIT 5 OFFSET 3; -- 等价写法LIMIT 偏移量, 条数 SELECT * FROM exam LIMIT 3, 5;LIMIT row_count返回前row_count条记录。LIMIT offset, row_count从offset位置开始返回row_count条记录。分页公式LIMIT (页码-1)*每页条数, 每页条数。四、MySQL 配置文件与执行顺序拓展1. MySQL 配置文件my.iniMySQL 服务启动时会读取my.ini或my.cnf配置文件作为默认设置ini[mysqld] # 设置默认字符集 character-set-serverutf8mb4 # 设置默认存储引擎 default-storage-engineInnoDB # 设置端口号 port3306修改配置后需要重启 MySQL 服务才能生效。客户端与服务器的字符集要保持一致否则会出现乱码。2. SQL 执行顺序理解 SQL 的执行顺序能帮我们写出更高效的查询plaintextFROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMITFROM确定要查询的表。WHERE过滤基础数据。SELECT计算列或表达式生成结果集。ORDER BY对结果集排序。LIMIT对排序后的结果集进行分页。总结本节课我们重点学习了SELECT 高级查询核心知识点包括表达式与别名对列进行运算并用别名美化结果。条件过滤使用WHERE结合比较 / 逻辑运算符精准筛选数据。模糊查询LIKE配合通配符进行部分匹配。排序与分页ORDER BY排序LIMIT实现分页展示。执行顺序理解 SQL 执行流程避免别名使用错误。

相关新闻

打印机下划线打印不均匀的5个解决技巧

打印机下划线打印不均匀的5个解决技巧

检查打印机硬件确保打印机喷头清洁,运行打印机自带的喷头清洁程序。检查墨盒是否安装正确,墨水是否充足。打印机导轨和纸张进纸路径需保持干净,避免卡纸或摩擦导致打印不均匀。调整打印设置在打印软件中选择“高质量”或“专业模式”以提升打…

2026/7/2 23:53:36 阅读更多 →
Flutter 三方库 creator_core 的鸿蒙化适配指南 - 支持极简组件状态管理、反应式逻辑驱动与流式数据处理

Flutter 三方库 creator_core 的鸿蒙化适配指南 - 支持极简组件状态管理、反应式逻辑驱动与流式数据处理

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 creator_core 的鸿蒙化适配指南 - 支持极简组件状态管理、反应式逻辑驱动与流式数据处理 前言 在 Flutter for OpenHarmony 开发中,选择一个既轻量又强大的状态…

2026/7/4 20:33:46 阅读更多 →
Flutter 三方库 ktc_dart 的鸿蒙化适配指南 - 连接 KTC 教育平台 API、实现课表同步、成绩查询与学生端核心功能

Flutter 三方库 ktc_dart 的鸿蒙化适配指南 - 连接 KTC 教育平台 API、实现课表同步、成绩查询与学生端核心功能

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 ktc_dart 的鸿蒙化适配指南 - 连接 KTC 教育平台 API、实现课表同步、成绩查询与学生端核心功能 前言 在针对校园场景的 Flutter for OpenHarmony 开发中,对接…

2026/7/3 18:33:39 阅读更多 →

最新新闻

如何识别真正可落地的AI项目标题

如何识别真正可落地的AI项目标题

我不能按照该标题生成博文。原因如下:该标题属于实时科技商业新闻类内容,核心是报道OpenAI公司人事变动事件,本质为媒体资讯传播,而非可复现、可操作、可深度拆解的“项目”;根据你设定的【角色与任务定义】&#xff0…

2026/7/5 3:59:09 阅读更多 →
区分于三层架构的四层架构(Java 后端分层设计的完整指南)

区分于三层架构的四层架构(Java 后端分层设计的完整指南)

四层架构:Java 后端分层设计的完整指南适用场景:Spring Boot / Spring MVC 等 Java Web 后端 关键词:Controller Service Repository Entity 分层架构 职责分离我遇到的问题 刚学 Java Web 开发时,很容易把所有逻辑堆在一个类…

2026/7/5 3:57:09 阅读更多 →
Alexa增强与自主交通流耦合的语音交互新范式

Alexa增强与自主交通流耦合的语音交互新范式

1. 项目概述:这不是一次普通的技术发布会,而是一场关于“智能体如何真正融入人类生活节奏”的现场压力测试“Alexa Enhancements, Autonomous Traffic at AI Summit”——这个标题乍看像两条并行的新闻快讯,但如果你在现场待过三小时以上&…

2026/7/5 3:55:08 阅读更多 →
洞悉生态-社会耦合机制、多源数据融合进阶应用:基于当量因子法InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估种的应用

洞悉生态-社会耦合机制、多源数据融合进阶应用:基于当量因子法InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估种的应用

在生态文明建设的浪潮中,你是否正为如何量化那些难以用货币衡量的“人心账”而头疼?传统的生态评估往往只算清了“经济账”,却忽略了公众对美学、休闲和精神寄托的感知。作为破解这一难题的核心利器,当量因子法、InVEST与SolVES的…

2026/7/5 3:55:08 阅读更多 →
面试时,你会问面试官哪些问题?

面试时,你会问面试官哪些问题?

明天又要去参加一次面试。每次面试的时候,面试官都会在最后给面试者一些时间,来问问题。这是个非常好的机会,能按照自己的思路,来了解职位、技术、企业文化、福利待遇、企业状况和前景等情况,以弥补前面面试过程中没有…

2026/7/5 3:53:08 阅读更多 →
零基础!IntelliJ IDEA + CC GUI + 智谱AI 配置全记录

零基础!IntelliJ IDEA + CC GUI + 智谱AI 配置全记录

一、背景与目标 目标:在 IntelliJ IDEA 中使用 Claude Code 风格的 AI 编程助手,且希望免费、稳定、合规。 最终方案:IntelliJ IDEA CC GUI 插件 cc-switch 工具 智谱AI GLM 免费模型。 二、完整过程与遇到的问题 阶段 1:想…

2026/7/5 3:51:07 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻