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/8/10 20:09:56 阅读更多 →
2026下半年智能电话客服系统解决方案商落地效果对比

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

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

2026/8/10 4:10:12 阅读更多 →
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/8/10 4:44:19 阅读更多 →

最新新闻

开发者必看:Ling-3.0-flash模型配置文件(config.json)参数详解与调优技巧

开发者必看:Ling-3.0-flash模型配置文件(config.json)参数详解与调优技巧

开发者必看:Ling-3.0-flash模型配置文件(config.json)参数详解与调优技巧 【免费下载链接】Ling-3.0-flash 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ling-3.0-flash Ling-3.0-flash作为一款高效的AI模型,其性能表现很大程度上…

2026/8/10 20:11:21 阅读更多 →
ViT-L-16-SigLIP-256完全指南:革命性图像文本对比模型如何实现零样本分类

ViT-L-16-SigLIP-256完全指南:革命性图像文本对比模型如何实现零样本分类

ViT-L-16-SigLIP-256完全指南:革命性图像文本对比模型如何实现零样本分类 【免费下载链接】ViT-L-16-SigLIP-256 项目地址: https://ai.gitcode.com/hf_mirrors/timm/ViT-L-16-SigLIP-256 ViT-L-16-SigLIP-256是一款基于Sigmoid损失的语言图像预训练&#x…

2026/8/10 20:11:21 阅读更多 →
MTSplice架构详解:双并行CNN塔如何实现56种组织的剪接效应精准预测

MTSplice架构详解:双并行CNN塔如何实现56种组织的剪接效应精准预测

MTSplice架构详解:双并行CNN塔如何实现56种组织的剪接效应精准预测 【免费下载链接】mtsplice 项目地址: https://ai.gitcode.com/hf_mirrors/multimolecule/mtsplice MTSplice作为MMSplice的第二代组织特异性模型,通过创新的双并行CNN塔架构&am…

2026/8/10 20:11:21 阅读更多 →
AutoR自改进机制:研究流程如何像人类一样自我优化?

AutoR自改进机制:研究流程如何像人类一样自我优化?

AutoR自改进机制:研究流程如何像人类一样自我优化? 【免费下载链接】AutoR AI handles execution, humans own the direction, and every run becomes an inspectable research artifact on disk. 项目地址: https://gitcode.com/gh_mirrors/auto/Auto…

2026/8/10 20:11:21 阅读更多 →
10分钟上手特征图提取:convnextv2_base.fcmae_ft_in22k_in1k可视化教程

10分钟上手特征图提取:convnextv2_base.fcmae_ft_in22k_in1k可视化教程

10分钟上手特征图提取:convnextv2_base.fcmae_ft_in22k_in1k可视化教程 【免费下载链接】convnextv2_base.fcmae_ft_in22k_in1k 项目地址: https://ai.gitcode.com/hf_mirrors/timm/convnextv2_base.fcmae_ft_in22k_in1k convnextv2_base.fcmae_ft_in22k_in…

2026/8/10 20:11:21 阅读更多 →
完整指南:OpenCore Legacy Patcher技术解析与高级应用

完整指南:OpenCore Legacy Patcher技术解析与高级应用

完整指南:OpenCore Legacy Patcher技术解析与高级应用 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher(OCLP&…

2026/8/10 20:10:21 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →