
文章目录MySQL 从入门到实践:完整学习指南一、数据库创建与管理1.1 数据库的创建1. 基本命名规则2. 基本创建命令3. 查看创建语句1.2 数据库的选择、查看与删除1.3 数据库的修改1.4 数据库权限管理1. 权限系统核心概念2. GRANT 语句语法3. 权限级别与 ON 子句详解4. 用户标识符 `'username'@'host'`5. 实战示例6. 权限管理相关命令7. 常用权限列表8. 最佳实践与安全建议1.5 备份与恢复1.6 实践示例:完整的数据库创建流程1.7 常用管理命令总结二、MySQL 案例库下载2.1 官方 Employees 测试数据库2.2 其他官方示例数据库2.3 快速开始步骤2.4 导入的数据有乱码如何处理三、MySQL 数据类型3.1 数值类型整数类型浮点数类型定点数类型3.2 日期和时间类型3.3 字符串类型文本字符串二进制字符串枚举和集合类型3.4 JSON 类型创建包含 JSON 字段的表插入 JSON 数据查询 JSON 数据JSON 函数示例JSON 索引优化(MySQL 8.0+)四、SQL 语句4.1 表的创建 - CREATE TABLE方案一:基础创建(最常用)方案二:基于现有表结构创建新表方案三:临时表创建方案四:使用 IF NOT EXISTS 避免错误方案五:完整语法创建表(带表选项)4.2 表约束类型4.3 表查询 - SELECT 语句基本语法结构核心子句示例子查询分类与用法4.4 数据删除 - DELETE 语句基本语法各种 DELETE 用法4.5 数据更新 - UPDATE 语句基本语法各种 UPDATE 用法高级更新技巧4.6 表删除 - DROP 语句DROP 家族命令各种 DROP 用法DELETE、TRUNCATE、DROP 对比4.7 表截断 - TRUNCATE 语句4.8 表连接详解连接的基本概念七种连接类型多表连接示例4.9 MySQL 内置函数分类1. 字符串函数2. 数值函数3. 日期和时间函数4. 聚合函数5. 控制流函数6. 系统信息函数7. JSON 函数8. 其他函数五、MySQL 流程控制5.1 IF 语句IF 函数(在 SELECT 中使用)IF-THEN-ELSE 语句(在存储过程中)5.2 CASE 语句简单 CASE搜索 CASE在 SELECT 中使用 CASE5.3 LOOP 语句5.4 WHILE 语句5.5 REPEAT 语句5.6 LEAVE 语句(退出循环)5.7 ITERATE 语句(跳过当前迭代)5.8 综合示例:完整的业务流程控制六、MySQL 视图6.1 视图的基本概念6.2 视图的创建和使用基础视图创建多表连接视图带计算字段的视图6.3 视图的修改和删除6.4 可更新视图与 WITH CHECK OPTION6.5 实际应用场景七、存储过程与函数7.1 存储过程 vs 函数7.2 存储过程详解基本语法无参数存储过程带输入参数的存储过程带输出参数的存储过程输入输出参数 (INOUT)复杂业务逻辑示例(月度薪资处理)7.3 函数详解基本语法基础计算函数字符串处理函数数据查询函数7.4 错误处理7.5 管理维护八、MySQL 触发器8.1 基本概念8.2 触发器类型8.3 NEW 和 OLD 伪记录8.4 各类触发器示例BEFORE INSERT 触发器AFTER INSERT 触发器BEFORE UPDATE 触发器AFTER UPDATE 触发器BEFORE DELETE 触发器AFTER DELETE 触发器8.5 实际应用场景8.6 触发器管理8.7 注意事项九、MySQL 游标9.1 游标基本概念9.2 游标使用步骤9.3 基础游标示例9.4 带条件的游标9.5 多表连接游标9.6 游标错误处理9.7 性能优化建议十、MySQL 索引10.1 索引基本概念10.2 索引类型普通索引(INDEX)唯一索引(UNIQUE INDEX)主键索引(PRIMARY KEY)全文索引(FULLTEXT)空间索引(SPATIAL)10.3 索引数据结构10.4 复合索引(多列索引)创建复合索引最左前缀原则复合索引排序优化10.5 索引管理操作10.6 索引使用策略使用 EXPLAIN 分析查询索引覆盖(Covering Index)索引下推(ICP,MySQL 5.6+)10.7 索引优化技巧10.8 索引监控和维护10.9 常见索引问题MySQL 从入门到实践:完整学习指南这份文档涵盖了 MySQL 数据库的核心知识点,从基础概念到高级特性,每个部分都配有详细的语法说明和实际示例,适合初学者系统学习,也适合开发者随时查阅。一、数据库创建与管理数据库是存储数据的容器,掌握数据库的创建、修改、删除以及权限管理是使用 MySQL 的第一步。1.1 数据库的创建1. 基本命名规则合法字符允许使用:字母(a-z, A-Z)、数字(0-9)、下划线(_)避免使用:空格、特殊字符(@, #, $, %, -, . 等)开头字符:必须以字母或下划线开头,不能以数字开头长度限制数据库名最大长度为 64 个字符通常建议在 30 个字符以内,保持简洁大小写敏感性Linux/Unix 系统:区分大小写(mydb ≠ MyDB)Windows 系统:不区分大小写最佳实践:统一使用小写,避免跨平台问题