MySQL 基础用法(下):查询进阶与核心特性
本篇为 MySQL 入门第二篇重点讲解数据查询语法、常用函数、索引、事务与权限管理是日常开发的核心内容。一、数据查询SELECT详解查询是 MySQL 最常用的操作语法灵活功能丰富。以下示例均基于上一篇的student表。1. 基础查询sql-- 查询所有字段生产环境不推荐 *影响性能且不明确 SELECT * FROM student; -- 查询指定字段 SELECT id, name, age FROM student; -- 字段别名 SELECT name AS 姓名, age 年龄 FROM student; -- 去重查询 SELECT DISTINCT gender FROM student;2. 条件查询WHEREsql-- 比较运算符 SELECT * FROM student WHERE age 18; SELECT * FROM student WHERE gender 男; -- 逻辑运算符 AND / OR / NOT SELECT * FROM student WHERE age 18 AND gender 女; -- 范围查询 BETWEEN ... AND ... SELECT * FROM student WHERE age BETWEEN 18 AND 20; -- 枚举查询 IN SELECT * FROM student WHERE age IN (18, 20, 22); -- 模糊查询 LIKE% 匹配任意字符_ 匹配单个字符 SELECT * FROM student WHERE name LIKE 张%; SELECT * FROM student WHERE name LIKE _三; -- 空值判断 IS NULL / IS NOT NULL SELECT * FROM student WHERE gender IS NULL;3. 排序与分页sql-- 排序ASC 升序默认DESC 降序 SELECT * FROM student ORDER BY age DESC; -- 多字段排序 SELECT * FROM student ORDER BY age DESC, id ASC; -- 分页LIMIT 偏移量, 每页条数 SELECT * FROM student LIMIT 0, 3; -- 第1页每页3条 SELECT * FROM student LIMIT 3, 3; -- 第2页分页公式第 n 页每页 size 条 →LIMIT (n-1)*size, size4. 分组聚合查询sql-- 聚合函数 SELECT COUNT(*) 总人数 FROM student; SELECT MAX(age) 最大年龄, MIN(age) 最小年龄, AVG(age) 平均年龄 FROM student; SELECT SUM(age) 年龄总和 FROM student; -- 分组统计按性别统计人数 SELECT gender, COUNT(*) 人数 FROM student GROUP BY gender; -- 分组后筛选 HAVINGWHERE 筛选行HAVING 筛选分组结果 SELECT gender, AVG(age) 平均年龄 FROM student GROUP BY gender HAVING 平均年龄 19;5. 联表查询当数据分布在多张表中时通过关联字段连接查询。假设有另一张表class班级表student表有class_id字段关联班级。sql-- 内连接只返回两张表匹配的数据 SELECT s.name, c.class_name FROM student s INNER JOIN class c ON s.class_id c.id; -- 左连接返回左表全部数据右表无匹配则显示 NULL SELECT s.name, c.class_name FROM student s LEFT JOIN class c ON s.class_id c.id; -- 右连接返回右表全部数据左表无匹配则显示 NULL SELECT s.name, c.class_name FROM student s RIGHT JOIN class c ON s.class_id c.id;6. 子查询查询语句中嵌套另一个查询sql-- 查询年龄大于平均年龄的学生 SELECT * FROM student WHERE age (SELECT AVG(age) FROM student);二、常用内置函数1. 字符串函数sqlSELECT CONCAT(姓名, name) FROM student; -- 拼接字符串 SELECT LENGTH(name) FROM student; -- 字节长度 SELECT SUBSTRING(name, 1, 2) FROM student; -- 截取字符串 SELECT UPPER(name) FROM student; -- 转大写2. 数值函数sqlSELECT ROUND(3.1415, 2); -- 四舍五入保留2位 SELECT CEIL(3.1); -- 向上取整 SELECT FLOOR(3.9); -- 向下取整 SELECT ABS(-10); -- 绝对值3. 日期函数sqlSELECT NOW(); -- 当前日期时间 SELECT CURDATE(); -- 当前日期 SELECT DATE_ADD(NOW(), INTERVAL 7 DAY); -- 加7天 SELECT DATEDIFF(NOW(), 2020-01-01); -- 日期相差天数三、索引基础索引是提升查询速度的核心手段类似书籍的目录通过牺牲少量写入性能换取查询效率。1. 索引类型主键索引主键自动创建唯一且非空唯一索引字段值不允许重复普通索引最基础的索引联合索引多个字段组成的索引2. 索引操作sql-- 创建普通索引 CREATE INDEX idx_name ON student(name); -- 创建唯一索引 CREATE UNIQUE INDEX idx_name_unique ON student(name); -- 创建联合索引 CREATE INDEX idx_name_age ON student(name, age); -- 查看索引 SHOW INDEX FROM student; -- 删除索引 DROP INDEX idx_name ON student;3. 查看执行计划判断查询是否命中索引sqlEXPLAIN SELECT * FROM student WHERE name 张三;重点关注type列ALL表示全表扫描ref、range等表示命中索引。四、事务与存储引擎1. 事务四大特性ACID原子性Atomicity事务内操作要么全部成功要么全部失败一致性Consistency事务前后数据完整性保持一致隔离性Isolation多个事务之间互不干扰持久性Durability事务提交后数据永久生效2. 事务控制sql-- 开启事务 START TRANSACTION; -- 执行多条 SQL UPDATE account SET money money - 100 WHERE id 1; UPDATE account SET money money 100 WHERE id 2; -- 提交事务 COMMIT; -- 回滚事务出错时执行 ROLLBACK;3. 常用存储引擎InnoDBMySQL 默认引擎支持事务、外键、行级锁适合高并发写入场景MyISAM不支持事务表级锁查询速度快适合读多写少场景五、用户与权限管理1. 用户管理sql-- 创建用户指定用户名和访问主机 CREATE USER test_userlocalhost IDENTIFIED BY 123456; -- 修改密码 ALTER USER test_userlocalhost IDENTIFIED BY new_password; -- 删除用户 DROP USER test_userlocalhost;2. 权限控制sql-- 授予所有库所有表的查询、插入权限 GRANT SELECT, INSERT ON *.* TO test_userlocalhost; -- 授予所有权限 GRANT ALL PRIVILEGES ON test_db.* TO test_userlocalhost; -- 刷新权限 FLUSH PRIVILEGES; -- 撤销权限 REVOKE INSERT ON *.* FROM test_userlocalhost; -- 查看用户权限 SHOW GRANTS FOR test_userlocalhost;谢谢

相关新闻

Torn Keyboard用户故事:20位DIY爱好者的组装心得与使用体验

Torn Keyboard用户故事:20位DIY爱好者的组装心得与使用体验

Torn Keyboard用户故事:20位DIY爱好者的组装心得与使用体验 【免费下载链接】torn Torn keyboard 项目地址: https://gitcode.com/gh_mirrors/to/torn Torn Keyboard是一款专为DIY爱好者设计的分体式机械键盘,凭借其模块化设计和高度定制性&#…

2026/10/18 12:12:36 阅读更多 →
2026下半年智能电话客服系统解决方案商落地效果对比

2026下半年智能电话客服系统解决方案商落地效果对比

智能电话客服系统选型核心参考要点近年来,国内政务服务、医保经办、公用事业等公共服务领域的服务智能化转型节奏加快,智能电话客服系统作为降低人力成本、提升响应效率、优化服务体验的核心工具,市场需求持续稳步增长。不同行业对于智能客服…

2026/10/18 12:12:42 阅读更多 →
Marlin固件架构深度解密:从硬件抽象到运动控制的进阶指南

Marlin固件架构深度解密:从硬件抽象到运动控制的进阶指南

Marlin固件架构深度解密:从硬件抽象到运动控制的进阶指南 【免费下载链接】Marlin Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers. Marlin supports all common platforms. Many commercial 3D printers come wit…

2026/10/18 12:13:46 阅读更多 →

最新新闻

梯度消失全解析:从数学原理到ReLU、BN与残差连接的实战解决路径

梯度消失全解析:从数学原理到ReLU、BN与残差连接的实战解决路径

1. 从一个训练到一半就“躺平”的模型说起如果你亲手训练过一个稍微有点深度的神经网络,大概率见过这种让人抓狂的场景:前几个epoch损失还降得好好的,突然就卡在一个不上不下的数值,准确率死活上不去,再往后训练&#…

2026/10/18 15:01:54 阅读更多 →
LAMMPS (23 Jun 2022) + oneAPI 安装避坑:从环境变量到编译验证的完整清单

LAMMPS (23 Jun 2022) + oneAPI 安装避坑:从环境变量到编译验证的完整清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 15:01:54 阅读更多 →
MATLAB三维热力图绘制全指南:从数据组织到交互验证

MATLAB三维热力图绘制全指南:从数据组织到交互验证

简介:这份资源聚焦MATLAB三维数据可视化,面向需要绘制三维热力图的学生、科研人员与工程技术人员,帮助解决三维曲面数据难以直观呈现的问题。资源包共3个文件,包含1个m脚本、1个mat数据文件和1个png效果图,压缩包约219…

2026/10/18 15:01:54 阅读更多 →
2026 用 AI 工具分析空口包 WiFi 包:TaoToken 统一 Key 接入 tshark/Wireshark 抓包总结

2026 用 AI 工具分析空口包 WiFi 包:TaoToken 统一 Key 接入 tshark/Wireshark 抓包总结

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 15:01:54 阅读更多 →
Java SHA算法实战:选型、编码、文件校验与安全边界

Java SHA算法实战:选型、编码、文件校验与安全边界

说实话,看到“SHA加密算法”这个标题,我第一反应是:这又是一个被写烂的入门Demo。但实际在项目里接手过几个跟数据校验、安全存储相关的模块之后,我觉得“SHA”这一块值得聊的东西其实非常多——很多人止步于会用MessageDigest.ge…

2026/10/18 15:01:54 阅读更多 →
JsLeakWatcher 报出一批对象,真的是内存泄漏吗:页面缓存、监听器和可达路径怎么分

JsLeakWatcher 报出一批对象,真的是内存泄漏吗:页面缓存、监听器和可达路径怎么分

JsLeakWatcher 报出一批对象,真的是内存泄漏吗:页面缓存、监听器和可达路径怎么分 页面退出后 JsLeakWatcher 报出几十个对象,团队立刻把所有缓存清掉,结果二次进入变慢,告警却仍然存在。工具发现“对象仍可达”&…

2026/10/18 15:00:54 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →