RSS
菜单
THE FEED / 技术与观点

发现值得阅读的好内容

来自一线开发者的实践、思考与复盘。

+ 提交文章

最新文章

528 篇
按发布时间排序

第 16 章 备份与恢复

备份是 DBA 的底线,也是业务出问题时最后一根救命稻草——没有备份的数据库等于在裸奔。本篇假设你已经会登录 MySQL、会建库建表、了解 binlog 的存在。学完之后,你将能熟练使用 mysqldump 做逻辑备份、说清逻辑备份与物理备份的取舍、按流程做数据恢复,并搭一套定时备份方案。本示例基于 MySQL 8.0。

开发站长
MySQL数据库备份与恢复

第 15 章 用户与权限管理

MySQL 是一个多用户数据库系统,谁能连进来、能看哪些库、能改哪些表,全靠用户与权限体系控制。本篇假设你已经能用 root 登录 MySQL、会写基本 DDL/DML。学完之后,你将能按业务需要创建最小权限账号、用 GRANT/REVOKE 精确授权、回收权限,并说出生产环境有哪些安全红线。本示例基于 MySQL 8.0。

开发站长
MySQL数据库用户与权限管理

第 14 章 事务与隔离级别

事务(Transaction)是 MySQL 区别于普通脚本文件系统的核心能力,也是面试与生产事故中出现频率最高的主题之一。本篇假设你已经会建库建表、写基本的 INSERT/UPDATE/SELECT,能看懂单表 CRUD。学完之后,你将能写出要么全成功、要么全回滚的业务 SQL,理解脏读、不可重复读、幻读三大并发问题,并能根据业务场景正确选择四种隔离级别。本示例基于 MySQL 8.0(InnoDB 引擎)。

开发站长
MySQL数据库事务与隔离级别

第 13 章 触发器与事件调度

存储过程要手动 `CALL` 才执行,本篇讲两种"自动触发"的数据库对象——触发器(Trigger)在表发生增删改时自动运行,事件调度(Event)按时间计划自动运行。学完后你能实现"下单自动写日志""每天凌晨清理过期数据"这类自动化逻辑。本示例基于 MySQL 8.0 语法。

开发站长
MySQL数据库触发器与事件调度

第 12 章 视图与存储过程

前面我们都是一条一条地写 SQL,本篇进入"封装"的世界——把常用查询封装成视图、把一段业务逻辑封装成存储过程,重复调用、统一口径。本篇讲视图的创建修改、存储过程的参数与流程控制、以及游标的基本用法。学完后你能把复杂查询模块化,避免到处复制粘贴 SQL。本示例基于 MySQL 8.0 语法。

开发站长
MySQL数据库视图与存储过程

第 11 章 索引基础与创建

索引是数据库性能优化的第一课,也是性价比最高的优化手段——一张大表没索引时查一条数据可能要扫全表几秒钟,建好索引后毫秒返回。本篇从"为什么需要索引"出发,讲清楚 InnoDB 默认的 B+Tree 索引结构,以及唯一索引、复合索引、全文索引的创建与查看方式,并引入覆盖索引这个关键概念。学完后你能为业务表合理设计索引。本示例基于 MySQL 8.0 语法。

开发站长
MySQL数据库索引基础与创建

第 10 章 条件逻辑与CASE WHEN

上一篇我们认识了 IF、IFNULL 这些简单的流程控制函数,但只要分支超过两层,它们就会变得难读难维护。本篇专门讲 SQL 里最强大的条件表达工具 `CASE WHEN`,以及它与聚合函数结合后完成"行转列"报表的经典套路。学完后你能写出多分支分类、动态排序、交叉报表等复杂查询。本示例基于 MySQL 8.0 语法。

开发站长
MySQL数据库条件逻辑与CASE WHEN

第 9 章 常用函数大全

函数是 MySQL 把原始数据加工成业务结果的"工具箱",几乎每条稍复杂的 SELECT 都会用到它。本篇在前面章节学完增删改查、连接、子查询的基础上,系统梳理字符串、日期时间、数值、流程控制与加密哈希五大类常用函数。学完后你能独立完成数据清洗、格式化输出、时间差计算、空值兜底等日常开发任务。本示例基于 MySQL 8.0 语法。

开发站长
MySQL数据库常用函数大全

第 8 章 子查询与派生表

子查询(subquery)就是"查询里套查询",是 SQL 表达复杂业务逻辑的利器。本篇讲标量子查询、`IN`/`NOT IN`、`EXISTS`、`ANY`/`ALL`、关联子查询,以及 `FROM` 子句里的派生表(derived table)。我们会对比子查询与 JOIN 的优劣、讲清楚 `NOT IN` 遇到 NULL 全灭的经典坑,最后给出 MySQL 8.0 中优化器对子查询的处理。学完你能写出"查成绩高于本系平均的学生"这类业务 SQL。本示例基于 MySQL 8.0,所有 SQL 均按该版本语法书写。

开发站长
MySQL数据库子查询与派生表

第 7 章 多表连接JOIN

真实业务里数据是分散在多张表里的——学生表、课程表、成绩表、院系表。要把它们"拼"在一起查,就靠 `JOIN`。本篇讲最常用的 INNER JOIN、LEFT JOIN、RIGHT JOIN、CROSS JOIN,以及自连接、多表连接,重点区分 ON 与 WHERE 的差异、LEFT JOIN 后加 WHERE 会变 INNER 的经典坑。学完你能写出后台 80% 的列表查询 SQL。本示例基于 MySQL 8.0,所有 SQL 均按该版本语法书写。

开发站长
MySQL数据库多表连接JOIN