0001. MySQL 8 从入门到精通
- 📺 bilibili 👉 TNotes 合集
- 📂 TNotes.yuque
- 1. 📝 概述
- 2. 📝 《MySQL 8 从入门到精通》内容简介
- 3. 📂 书籍资源
- 4. 📒 目录
- 4.1. 第 1 章 初识 MySQL
- 4.2. 第 2 章 MySQL 的安装与配置
- 4.3. 第 3 章 数据库的基本操作
- 4.4. 第 4 章 数据表的基本操作
- 4.5. 第 5 章 数据类型和运算符
- 4.6. 第 6 章 MySQL 函数
- 4.7. 第 7 章 查询数据
- 4.8. 第 8 章 插入、更新与删除数据
- 4.9. 第 9 章 索引
- 4.10. 第 10 章 存储过程和函数
- 4.11. 第 11 章 视图
- 4.12. 第 12 章 MySQL 触发器
- 4.13. 第 13 章 MySQL 权限与安全管理
- 4.14. 第 14 章 数据备份与恢复
- 4.15. 第 15 章 MySQL 日志
- 4.16. 第 16 章 性能优化
- 4.17. 第 17 章 MySQL Replication
- 4.18. 第 18 章 MySQL Workbench 的使用
- 4.19. 第 19 章 MySQL 管理利器——MySQL Utilities
- 4.20. 第 20 章 读写分离的利器——MySQL Proxy
- 4.21. 第 21 章 精通 MySQL 存储引擎
- 4.22. 第 22 章 PHP 操作 MySQL 数据库
- 4.23. 第 23 章 PDO 数据库抽象类库
- 4.24. 第 24 章 综合项目 1——开发网上商城
- 4.25. 第 25 章 综合项目 2——论坛管理系统数据库设计
- 4.26. 第 26 章 综合项目 3——新闻发布系统数据库设计
1. 📝 概述
- 本节笔记将对《MySQL 8 从入门到精通》这一 mysql 教程做一个简单的介绍。
- 《MySQL 8 从入门到精通》
- 字数:343k
- 发行日期:2019-08-01
2. 📝 《MySQL 8 从入门到精通》内容简介
- 本书主要内容包括 MySQL 的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL 函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与还原、MySQL 日志、性能优化、MySQL Replication、MySQL Workbench、MySQL Utilities、MySQL Proxy、PHP 操作 MySQL 数据库和 PDO 数据库抽象类库等。最后通过 3 个综合案例的数据库设计,进一步讲述 MySQL 在实际工作中的应用。
- 本书共有 480 个实例和 16 个综合案例,还有大量的经典习题。随书赠送了近 20 小时培训班形式的视频教学录像,详细讲解了书中每一个知识点和每一个数据库操作的方法和技巧,同时还提供了本书所有例子的源代码,读者可以直接查看和调用。
- 本书注重实战操作,帮助读者循序渐进地掌握 MySQL 中的各项技术,非常适合 MySQL 数据库初学者、MySQL 数据库开发人员和 MySQL 数据库管理员阅读,同时也能作为高等院校和培训学校相关专业师生的教学用书。
3. 📂 书籍资源
书中对资源获取方式的说明:
—— from 《MySQL 8 从入门到精通》
获取流程
- 给
booksaga@163.com
邮箱发送一个主题为MySQL8从入门到精通
的邮件,会收到自动回复: - https://www.cnblogs.com/brucexia/p/12167886.html
- 这是一个博客园的链接,其中记录了获取相关资源的二维码以及链接。
- 扫码之后,微信登录,即可跳转到资源下载页面。
注:相关资源已同步到 TNotes.yuque
知识库中,有需要的可自行获取。
4. 📒 目录
章节 | 简介 |
---|---|
第 1 章 初识 MySQL | 介绍数据库的技术构成和什么是 MySQL,包括数据库基本概念和 MySQL 工具。 |
第 2 章 MySQL 的安装与配置 | 介绍 MySQL 8 的安装和配置,主要包括 Windows 平台下的安装和配置、Linux 平台下的安装和配置、如何启动 MySQL 服务、如何更改 MySQL 的配置等。 |
第 3 章 数据库的基本操作 | 介绍 MySQL 数据库的基本操作,包括创建数据库、删除数据库和 MySQL 数据库存储引擎。 |
第 4 章 数据表的基本操作 | 介绍 MySQL 数据表的基本操作,主要包括创建数据表、查看数据表结构、修改数据表和删除数据表。 |
第 5 章 数据类型和运算符 | 介绍 MySQL 中的数据类型和运算符,主要包括 MySQL 数据类型介绍、如何选择数据类型和常见运算符介绍。 |
第 6 章 MySQL 函数 | 介绍 MySQL 函数,包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数和其他函数。 |
第 7 章 查询数据 | 介绍如何查询数据表中的数据,主要包括基本查询语句、单表查询、使用聚合函数查询、连接查询、子查询、合并查询结果、为表和字段取别名以及使用正则表达式查询。 |
第 8 章 插入、更新与删除数据 | 介绍如何插入、更新与删除数据,包括插入数据、更新数据、删除数据。 |
第 9 章 索引 | 介绍 MySQL 中的索引,包括索引简介、如何创建各种类型的索引和如何删除索引。 |
第 10 章 存储过程和函数 | 介绍 MySQL 中的存储过程和函数,包括存储过程和函数的创建、调用、查看、修改和删除。 |
第 11 章 视图 | 介绍 MySQL 视图,主要介绍视图的概念、创建视图、查看视图、修改视图、更新视图和删除视图。 |
第 12 章 MySQL 触发器 | 介绍 MySQL 触发器,包括创建触发器、查看触发器、触发器的使用和删除触发器。 |
第 13 章 MySQL 权限与安全管理 | 介绍 MySQL 用户管理,主要包括 MySQL 中的各种权限表、账户管理、权限管理和 MySQL 的访问控制机制。 |
第 14 章 数据备份与恢复 | 介绍 MySQL 数据库的备份和恢复,主要包括数据备份、数据恢复、数据库的迁移和数据表的导出和导入。 |
第 15 章 MySQL 日志 | 介绍 MySQL 日志,主要包括日志简介、二进制日志、错误日志、通用查询日志和慢查询日志。 |
第 16 章 性能优化 | 介绍如何对 MySQL 进行性能优化,包括优化简介、优化查询、优化数据库结构和优化 MySQL 服务器。 |
第 17 章 MySQL Replication | 介绍 MySQL Replication 复制数据的操作方法和技巧。 |
第 18 章 MySQL Workbench 的使用 | 介绍 MySQL Workbench 设计 MySQL 数据库的方法和技巧。 |
第 19 章 MySQL 管理利器——MySQL Utilities | 介绍 MySQL Utilities 管理 MySQL 数据库的方法和技巧。 |
第 20 章 读写分离的利器——MySQL Proxy | 介绍 MySQL Proxy 操作 MySQL 数据库的方法和技巧。 |
第 21 章 精通 MySQL 存储引擎 | 介绍 MySQL 存储引擎的工作原理。 |
第 22 章 PHP 操作 MySQL 数据库 | 介绍 PHP 操作 MySQL 数据库的方法和技巧。 |
第 23 章 PDO 数据库抽象类库 | 介绍 PDO 数据库抽象类库的使用方法和技巧。 |
第 24 章 综合项目 1——开发网上商城 | 介绍开发网上商场的方法和实现过程。 |
第 25 章 综合项目 2——论坛管理系统数据库设计 | 介绍论坛系统数据库的设计方法和实现过程。 |
第 26 章 综合项目 3——新闻发布系统数据库设计 | 介绍新闻发布系统数据库的设计方法和实现过程。 |
4.1. 第 1 章 初识 MySQL
- 1.1 数据库基础
- 1.1.1 什么是数据库
- 1.1.2 表
- 1.1.3 数据类型
- 1.1.4 主键
- 1.2 数据库技术构成
- 1.2.1 数据库系统
- 1.2.2 SQL 语言
- 1.2.3 数据库访问接口
- 1.3 什么是 MySQL
- 1.3.1 客户端/服务器软件
- 1.3.2 MySQL 版本
- 1.3.3 MySQL 的优势
- 1.4 MySQL 工具
- 1.4.1 MySQL 命令行实用程序
- 1.4.2 MySQL Workbench
- 1.5 MySQL 8.0 的新特性简述
- 1.6 如何学习 MySQL
4.2. 第 2 章 MySQL 的安装与配置
- 2.1 Windows 平台下安装与配置 MySQL 8.0
- 2.1.1 安装 MySQL 8.0
- 2.1.2 配置 MySQL 8.0
- 2.2 启动服务并登录 MySQL 数据库
- 2.2.1 启动 MySQL 服务
- 2.2.2 登录 MySQL 数据库
- 2.2.3 配置 Path 变量
- 2.3 MySQL 常用图形管理工具
- 2.4 Linux 平台下安装与配置 MySQL 8.0
- 2.4.1 Linux 操作系统下的 MySQL 版本介绍
- 2.4.2 安装和配置 MySQL 的 RPM 包
- 2.4.3 安装和配置 MySQL 的源码包
- 2.5 专家解惑
- 2.6 经典习题
4.3. 第 3 章 数据库的基本操作
- 3.1 创建数据库
- 3.2 删除数据库
- 3.3 MySQL 8.0 的新特性——系统表全部为 InnoDB 表
- 3.4 综合案例——数据库的创建和删除
- 3.5 专家解惑
- 3.6 经典习题
4.4. 第 4 章 数据表的基本操作
- 4.1 创建数据表
- 4.1.1 创建表的语法形式
- 4.1.2 使用主键约束
- 4.1.3 使用外键约束
- 4.1.4 使用非空约束
- 4.1.5 使用唯一性约束
- 4.1.6 使用默认约束
- 4.1.7 设置表的属性值自动增加
- 4.2 查看数据表结构
- 4.2.1 查看表基本结构语句 DESCRIBE
- 4.2.2 查看表详细结构语句 SHOW CREATE TABLE
- 4.3 修改数据表
- 4.3.1 修改表名
- 4.3.2 修改字段的数据类型
- 4.3.3 修改字段名
- 4.3.4 添加字段
- 4.3.5 删除字段
- 4.3.6 修改字段的排列位置
- 4.3.7 更改表的存储引擎
- 4.3.8 删除表的外键约束
- 4.4 删除数据表
- 4.4.1 删除没有被关联的表
- 4.4.2 删除被其他表关联的主表
- 4.5 MySQL 8.0 的新特性 1——默认字符集改为 utf8mb4
- 4.6 MySQL 8.0 的新特性 2——自增变量的持久化
- 4.7 综合案例——数据表的基本操作
- 4.8 专家解惑
- 4.9 经典习题
4.5. 第 5 章 数据类型和运算符
- 5.1 MySQL 数据类型介绍
- 5.1.1 整数类型
- 5.1.2 浮点数类型和定点数类型
- 5.1.3 日期与时间类型
- 5.1.4 文本字符串类型
- 5.1.5 二进制字符串类型
- 5.2 如何选择数据类型
- 5.3 常见运算符介绍
- 5.3.1 运算符概述
- 5.3.2 算术运算符
- 5.3.3 比较运算符
- 5.3.4 逻辑运算符
- 5.3.5 位运算符
- 5.3.6 运算符的优先级
- 5.4 综合案例——运算符的使用
- 5.5 专家解惑
- 5.6 经典习题
4.6. 第 6 章 MySQL 函数
- 6.1 MySQL 函数简介
- 6.2 数学函数
- 6.2.1 绝对值函数 ABS(x)和返回圆周率的函数 PI()
- 6.2.2 平方根函数 SQRT(x)和求余函数 MOD(x,y)
- 6.2.3 获取整数的函数 CEIL(x)、CEILING(x)和 FLOOR(x)
- 6.2.4 获取随机数的函数 RAND()和 RAND(x)
- 6.2.5 函数 ROUND(x)、ROUND(x,y)和 TRUNCATE(x,y)
- 6.2.6 符号函数 SIGN(x)
- 6.2.7 幂运算函数 POW(x,y)、POWER(x,y)和 EXP(x)
- 6.2.8 对数运算函数 LOG(x)和 LOG10(x)
- 6.2.9 角度与弧度相互转换的函数 RADIANS(x)和 DEGREES(x)
- 6.2.10 正弦函数 SIN(x)和反正弦函数 ASIN(x)
- 6.2.11 余弦函数 COS(x)和反余弦函数 ACOS(x)
- 6.2.12 正切函数、反正切函数和余切函数
- 6.3 字符串函数
- 6.3.1 计算字符串字符数的函数和字符串长度的函数
- 6.3.2 合并字符串函数 CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…)
- 6.3.3 替换字符串的函数 INSERT(s1,x,len,s2)
- 6.3.4 字母大小写转换函数
- 6.3.5 获取指定长度的字符串的函数 LEFT(s,n)和 RIGHT(s,n)
- 6.3.6 填充字符串的函数 LPAD(s1,len,s2)和 RPAD(s1,len,s2)
- 6.3.7 删除空格的函数 LTRIM(s)、RTRIM(s)和 TRIM(s)
- 6.3.8 删除指定字符串的函数 TRIM(s1 FROM s)
- 6.3.9 重复生成字符串的函数 REPEAT(s,n)
- 6.3.10 空格函数 SPACE(n)和替换函数 REPLACE(s,s1,s2)
- 6.3.11 比较字符串大小的函数 STRCMP(s1,s2)
- 6.3.12 获取子串的函数 SUBSTRING(s,n,len)和 MID(s,n,len)
- 6.3.13 匹配子串开始位置的函数
- 6.3.14 字符串逆序的函数 REVERSE(s)
- 6.3.15 返回指定字符串位置的函数
- 6.3.16 返回指定字符串位置的函数 FIELD(s,s1,s2,…,sn)
- 6.3.17 返回子串位置的函数 FIND_IN_SET(s1,s2)
- 6.3.18 选取字符串的函数 MAKE_SET(x,s1,s2,…,sn)
- 6.4 日期和时间函数
- 6.4.1 获取当前日期的函数和获取当前时间的函数
- 6.4.2 获取当前日期和时间的函数
- 6.4.3 UNIX 时间戳函数
- 6.4.4 返回 UTC 日期的函数和返回 UTC 时间的函数
- 6.4.5 获取月份的函数 MONTH(date)和 MONTHNAME(date)
- 6.4.6 获取星期的函数 DAYNAME(d)、DAYOFWEEK(d)和 WEEKDAY(d)
- 6.4.7 获取星期数的函数 WEEK(d)和 WEEKOFYEAR(d)
- 6.4.8 获取天数的函数 DAYOFYEAR(d)和 DAYOFMONTH(d)
- 6.4.9 获取年份、季度、小时、分钟和秒钟的函数
- 6.4.10 获取日期的指定值的函数 EXTRACT(type FROM date)
- 6.4.11 时间和秒钟转换的函数
- 6.4.12 计算日期和时间的函数
- 6.4.13 将日期和时间格式化的函数
- 6.5 条件判断函数
- 6.5.1 IF(expr,v1,v2)函数
- 6.5.2 IFNULL(v1,v2)函数
- 6.5.3 CASE 函数
- 6.6 系统信息函数
- 6.6.1 获取 MySQL 版本号、连接数和数据库名的函数
- 6.6.2 获取用户名的函数
- 6.6.3 获取字符串的字符集和排序方式的函数
- 6.6.4 获取最后一个自动生成的 ID 值的函数
- 6.7 MySQL 8.0 的新特性 1——加密函数
- 6.7.1 加密函数 MD5(str)
- 6.7.2 加密函数 SHA(str)
- 6.7.3 加密函数 SHA2(str, hash_length)
- 6.8 其他函数
- 6.8.1 格式化函数 FORMAT(x,n)
- 6.8.2 不同进制的数字进行转换的函数
- 6.8.3 IP 地址与数字相互转换的函数
- 6.8.4 加锁函数和解锁函数
- 6.8.5 重复执行指定操作的函数
- 6.8.6 改变字符集的函数
- 6.8.7 改变数据类型的函数
- 6.9 MySQL 8.0 的新特性 2——窗口函数
- 6.10 综合案例——MySQL 函数的使用
- 6.11 专家解惑
- 6.12 经典习题
4.7. 第 7 章 查询数据
- 7.1 基本查询语句
- 7.2 单表查询
- 7.2.1 查询所有字段
- 7.2.2 查询指定字段
- 7.2.3 查询指定记录
- 7.2.4 带 IN 关键字的查询
- 7.2.5 带 BETWEEN AND 的范围查询
- 7.2.6 带 LIKE 的字符匹配查询
- 7.2.7 查询空值
- 7.2.8 带 AND 的多条件查询
- 7.2.9 带 OR 的多条件查询
- 7.2.10 查询结果不重复
- 7.2.11 对查询结果排序
- 7.2.12 分组查询
- 7.2.13 使用 LIMIT 限制查询结果的数量
- 7.3 使用集合函数查询
- 7.3.1 COUNT()函数
- 7.3.2 SUM()函数
- 7.3.3 AVG()函数
- 7.3.4 MAX()函数
- 7.3.5 MIN()函数
- 7.4 连接查询
- 7.4.1 内连接查询
- 7.4.2 外连接查询
- 7.4.3 复合条件连接查询
- 7.5 子查询
- 7.5.1 带 ANY、SOME 关键字的子查询
- 7.5.2 带 ALL 关键字的子查询
- 7.5.3 带 EXISTS 关键字的子查询
- 7.5.4 带 IN 关键字的子查询
- 7.5.5 带比较运算符的子查询
- 7.6 合并查询结果
- 7.7 为表和字段取别名
- 7.7.1 为表取别名
- 7.7.2 为字段取别名
- 7.8 使用正则表达式查询
- 7.8.1 查询以特定字符或字符串开头的记录
- 7.8.2 查询以特定字符或字符串结尾的记录
- 7.8.3 用符号"."来替代字符串中的任意一个字符
- 7.8.4 使用"*"和"+"来匹配多个字符
- 7.8.5 匹配指定字符串
- 7.8.6 匹配指定字符中的任意一个
- 7.8.7 匹配指定字符以外的字符
- 7.8.8 使用{n,}或者{n,m}来指定字符串连续出现的次数
- 7.9 MySQL 8.0 的新特性 1——GROUP BY 不再隐式排序
- 7.10 MySQL 8.0 的新特性 2——通用表表达式
- 7.11 综合案例——数据表查询操作
- 7.12 专家解惑
- 7.13 经典习题
4.8. 第 8 章 插入、更新与删除数据
- 8.1 插入数据
- 8.1.1 为表的所有字段插入数据
- 8.1.2 为表的指定字段插入数据
- 8.1.3 同时插入多条记录
- 8.1.4 将查询结果插入到表中
- 8.2 更新数据
- 8.3 删除数据
- 8.4 为表增加计算列
- 8.5 MySQL 8.0 的新特性——DDL 的原子化
- 8.6 综合案例——记录的插入、更新和删除
- 8.7 专家解惑
- 8.8 经典习题
4.9. 第 9 章 索引
- 9.1 索引简介
- 9.1.1 索引的含义和特点
- 9.1.2 索引的分类
- 9.1.3 索引的设计原则
- 9.2 创建索引
- 9.2.1 创建表的时候创建索引
- 9.2.2 在已经存在的表上创建索引
- 9.3 删除索引
- 9.4 MySQL 8.0 的新特性 1——支持降序索引
- 9.5 MySQL 8.0 的新特性 2——统计直方图
- 9.5.1 直方图的优点
- 9.5.2 直方图的基本操作
- 9.6 综合案例——创建索引
- 9.7 专家解惑
- 9.8 经典习题
4.10. 第 10 章 存储过程和函数
- 10.1 创建存储过程和函数
- 10.1.1 创建存储过程
- 10.1.2 创建存储函数
- 10.1.3 变量的使用
- 10.1.4 定义条件和处理程序
- 10.1.5 光标的使用
- 10.1.6 流程控制的使用
- 10.2 调用存储过程和函数
- 10.2.1 调用存储过程
- 10.2.2 调用存储函数
- 10.3 查看存储过程和函数
- 10.3.1 使用 SHOW STATUS 语句查看存储过程和函数的状态
- 10.3.2 使用 SHOW CREATE 语句查看存储过程和函数的定义
- 10.3.3 从 information_schema.Routines 表中查看存储过程和函数的信息
- 10.4 修改存储过程和函数
- 10.5 删除存储过程和函数
- 10.6 MySQL 8.0 的新特性——全局变量的持久化
- 10.7 综合案例——创建存储过程和函数
- 10.8 专家解惑
- 10.9 经典习题
4.11. 第 11 章 视图
- 11.1 视图概述
- 11.1.1 视图的含义
- 11.1.2 视图的作用
- 11.2 创建视图
- 11.2.1 创建视图的语法形式
- 11.2.2 在单表上创建视图
- 11.2.3 在多表上创建视图
- 11.3 查看视图
- 11.3.1 使用 DESCRIBE 语句查看视图基本信息
- 11.3.2 使用 SHOW TABLE STATUS 语句查看视图基本信息
- 11.3.3 使用 SHOW CREATE VIEW 语句查看视图详细信息
- 11.3.4 在 views 表中查看视图详细信息
- 11.4 修改视图
- 11.4.1 使用 CREATE OR REPLACE VIEW 语句修改视图
- 11.4.2 使用 ALTER 语句修改视图
- 11.5 更新视图
- 11.6 删除视图
- 11.7 综合案例——视图应用
- 11.8 专家解惑
- 11.9 经典习题
4.12. 第 12 章 MySQL 触发器
- 12.1 创建触发器
- 12.1.1 创建只有一个执行语句的触发器
- 12.1.2 创建有多个执行语句的触发器
- 12.2 查看触发器
- 12.2.1 利用 SHOW TRIGGERS 语句查看触发器信息
- 12.2.2 在 triggers 表中查看触发器信息
- 12.3 触发器的使用
- 12.4 删除触发器
- 12.5 综合案例——触发器的使用
- 12.6 专家解惑
- 12.7 经典习题
4.13. 第 13 章 MySQL 权限与安全管理
- 13.1 权限表
- 13.1.1 user 表
- 13.1.2 db 表
- 13.1.3 tables_priv 表和 columns_priv 表
- 13.1.4 procs_priv 表
- 13.2 账户管理
- 13.2.1 登录和退出 MySQL 服务器
- 13.2.2 新建普通用户
- 13.2.3 删除普通用户
- 13.2.4 root 用户修改自己的密码
- 13.2.5 root 用户修改普通用户密码
- 13.3 权限管理
- 13.3.1 MySQL 的各种权限
- 13.3.2 授权
- 13.3.3 收回权限
- 13.3.4 查看权限
- 13.4 访问控制
- 13.4.1 连接核实阶段
- 13.4.2 请求核实阶段
- 13.5 提升安全性
- 13.5.1 AES 256 加密
- 13.5.2 密码到期更换策略
- 13.5.3 安全模式安装
- 13.6 MySQL 8.0 的新特性——管理角色
- 13.7 综合案例——综合管理用户权限
- 13.8 专家解惑
- 13.9 经典习题
4.14. 第 14 章 数据备份与恢复
- 14.1 数据备份
- 14.1.1 使用 MySQLdump 命令备份
- 14.1.2 直接复制整个数据库目录
- 14.1.3 使用 MySQLhotcopy 工具快速备份
- 14.2 数据恢复
- 14.2.1 使用 MySQL 命令恢复
- 14.2.2 直接复制到数据库目录
- 14.2.3 MySQLhotcopy 快速恢复
- 14.3 数据库迁移
- 14.3.1 相同版本的 MySQL 数据库之间的迁移
- 14.3.2 不同版本的 MySQL 数据库之间的迁移
- 14.3.3 不同数据库之间的迁移
- 14.4 表的导出和导入
- 14.4.1 使用 SELECT…INTO OUTFILE 导出文本文件
- 14.4.2 使用 MySQLdump 命令导出文本文件
- 14.4.3 使用 MySQL 命令导出文本文件
- 14.4.4 使用 LOAD DATA INFILE 方式导入文本文件
- 14.4.5 使用 MySQLimport 命令导入文本文件
- 14.5 综合案例——数据的备份与恢复
- 14.6 专家解惑
- 14.7 经典习题
4.15. 第 15 章 MySQL 日志
- 15.1 日志简介
- 15.2 二进制日志
- 15.2.1 启动和设置二进制日志
- 15.2.2 查看二进制日志
- 15.2.3 删除二进制日志
- 15.2.4 使用二进制日志恢复数据库
- 15.2.5 暂时停止二进制日志功能
- 15.3 错误日志
- 15.3.1 启动和设置错误日志
- 15.3.2 查看错误日志
- 15.3.3 删除错误日志
- 15.4 通用查询日志
- 15.4.1 启动通用查询日志
- 15.4.2 查看通用查询日志
- 15.4.3 删除通用查询日志
- 15.5 慢查询日志
- 15.5.1 启动和设置慢查询日志
- 15.5.2 查看慢查询日志
- 15.5.3 删除慢查询日志
- 15.6 MySQL 8.0 的新特性——日志分类更详细
- 15.7 综合案例——MySQL 日志的综合管理
- 15.8 专家解惑
- 15.9 经典习题
4.16. 第 16 章 性能优化
- 16.1 优化简介
- 16.2 优化查询
- 16.2.1 分析查询语句
- 16.2.2 索引对查询速度的影响
- 16.2.3 使用索引查询
- 16.2.4 优化子查询
- 16.3 优化数据库结构
- 16.3.1 将字段很多的表分解成多个表
- 16.3.2 增加中间表
- 16.3.3 增加冗余字段
- 16.3.4 优化插入记录的速度
- 16.3.5 分析表、检查表和优化表
- 16.4 优化 MySQL 服务器
- 16.4.1 优化服务器硬件
- 16.4.2 优化 MySQL 的参数
- 16.5 临时表性能优化
- 16.6 服务器语句超时处理
- 16.7 创建全局通用表空间
- 16.8 MySQL 8.0 的新特性 1——支持不可见索引
- 16.9 MySQL 8.0 的新特性 2——增加资源组
- 16.10 综合案例——全面优化 MySQL 服务器
- 16.11 专家解惑
- 16.12 经典习题
4.17. 第 17 章 MySQL Replication
- 17.1 MySQL Replication 概述
- 17.2 Windows 环境下的 MySQL 主从复制
- 17.2.1 复制前的准备工作
- 17.2.2 Windows 环境下实现主从复制
- 17.2.3 Windows 环境下主从复制测试
- 17.3 Linux 环境下的 MySQL 复制
- 17.3.1 下载并安装 MySQL 8.0
- 17.3.2 单机主从复制前的准备工作
- 17.3.3 MySQLd_multi 实现单机主从复制
- 17.3.4 不同服务器之间实现主从复制
- 17.3.5 MySQL 主要复制启动选项
- 17.3.6 指定复制的数据库或者表
- 17.4 查看 Slave 的复制进度
- 17.5 日常管理和维护
- 17.5.1 了解服务器的状态
- 17.5.2 服务器复制出错的原因
- 17.6 切换主从服务器
- 17.7 多源复制的改进
- 17.8 专家解惑
- 17.9 经典习题
4.18. 第 18 章 MySQL Workbench 的使用
- 18.1 MySQL Workbench 简介
- 18.1.1 MySQL Workbench 的概述
- 18.1.2 MySQL Workbench 的优势
- 18.1.3 MySQL Workbench 的安装
- 18.2 SQL Development 的基本操作
- 18.2.1 创建数据库连接
- 18.2.2 创建新的数据库
- 18.2.3 创建和删除新的数据表
- 18.2.4 添加、修改表记录
- 18.2.5 查询表记录
- 18.2.6 修改表结构
- 18.3 Data Modeling 的基本操作
- 18.3.1 建立 ER 模型
- 18.3.2 导入 ER 模型
- 18.4 Server Administration 的基本操作
- 18.4.1 管理 MySQL 用户
- 18.4.2 备份 MySQL 数据库
- 18.4.3 恢复 MySQL 数据库
- 18.5 专家解惑
- 18.6 经典习题
4.19. 第 19 章 MySQL 管理利器——MySQL Utilities
- 19.1 MySQL Utilities 概述
- 19.2 安装与配置
- 19.2.1 下载与安装 MySQL Utilities
- 19.2.2 MySQL Utilities 连接数据库
- 19.3 管理与维护
- 19.3.1 使用 mysqldbcompare 比较数据
- 19.3.2 使用 mysqldbcopy 复制数据
- 19.3.3 使用 mysqldbexport 导出数据
- 19.3.4 使用 mysqldbimport 导入数据
- 19.3.5 使用 mysqldiff 比较对象的定义
- 19.4 专家解惑
- 19.5 经典习题
4.20. 第 20 章 读写分离的利器——MySQL Proxy
- 20.1 概述
- 20.2 安装与配置
- 20.2.1 下载与安装 MySQL Proxy
- 20.2.2 配置 MySQL Proxy 参数
- 20.2.3 配置 Path 变量
- 20.3 使用 MySQL Proxy 实现读写分离
- 20.4 专家解惑
- 20.5 经典习题
4.21. 第 21 章 精通 MySQL 存储引擎
- 21.1 MySQL 架构
- 21.1.1 MySQL 物理文件的组成
- 21.1.2 MySQL 各逻辑块简介
- 21.1.3 MySQL 各逻辑块协调工作
- 21.2 数据库存储引擎
- 21.2.1 MySQL 存储引擎简介
- 21.2.2 InnoDB 存储引擎
- 21.2.3 MyISAM 存储引擎
- 21.2.4 MEMORY 存储引擎
- 21.2.5 MERGE 存储引擎
- 21.2.6 BerkeleyDB 存储引擎
- 21.3 认识 MySQL 的锁定机制
- 21.4 MyISAM 的锁定机制
- 21.4.1 MyISAM 表级锁的锁模式
- 21.4.2 获取 MyISAM 表级锁的争用情况
- 21.4.3 MyISAM 表级锁加锁方法
- 21.4.4 MyISAM Concurrent Insert 的特性
- 21.4.5 MyISAM 表级锁优化建议
- 21.5 InnoDB 的锁定机制
- 21.5.1 InnoDB 行级锁模式
- 21.5.2 获取 InnoDB 行级锁的争用情况
- 21.5.3 InnoDB 行级锁的实现方法
- 21.5.4 间隙锁(Net-Key 锁)
- 21.5.5 InnoDB 在不同隔离级别下加锁的差异
- 21.5.6 InnoDB 存储引擎中的死锁
- 21.5.7 InnoDB 行级锁优化建议
- 21.6 InnoDB 存储引擎的在线操作
- 21.6.1 在线添加主键
- 21.6.2 在线增大 VARCHAR 列长
- 21.6.3 在线重命名索引
- 21.7 MySQL 8.0 的新特性 1——支持 JSON 类型
- 21.8 MySQL 8.0 的新特性 2——全文索引的加强
- 21.9 MySQL 8.0 的新特性 3——动态修改 InnoDB 缓冲池的大小
- 21.10 MySQL 8.0 的新特性 4——表空间数据加密
- 21.11 MySQL 8.0 的新特性 5——跳过锁等待
- 21.12 专家解惑
- 21.13 经典习题
4.22. 第 22 章 PHP 操作 MySQL 数据库
- 22.1 PHP 访问 MySQL 数据库的一般步骤
- 22.2 连接数据库前的准备工作
- 22.3 访问数据库
- 22.3.1 使用 mysqli_connect()函数连接 MySQL 服务器
- 22.3.2 使用 mysqli_select_db()函数更改默认的数据库
- 22.3.3 使用 mysqli_close()函数关闭 MySQL 连接
- 22.3.4 使用 mysqli_query()函数执行 SQL 语句
- 22.3.5 获取查询结果集中的记录数
- 22.3.6 获取结果集中的一条记录作为枚举数组
- 22.3.7 获取结果集中的记录作为关联数组
- 22.3.8 获取结果集中的记录作为对象
- 22.3.9 使用 mysqli_fetch_array()函数获取结果集记录
- 22.3.10 使用 mysqli_free_result()函数释放资源
- 22.4 综合实例 1——PHP 操作 MySQL 数据库
- 22.5 综合实例 2——使用 insert 语句动态添加用户信息
- 22.6 综合实例 3——使用 select 语句查询数据信息
- 22.7 专家解惑
4.23. 第 23 章 PDO 数据库抽象类库
- 23.1 PDO 概述
- 23.2 PDO 的安装
- 23.3 使用 PDO 操作 MySQL
- 23.3.1 连接 MySQL 数据库的方法
- 23.3.2 使用 PDO 时的 try catch 错误处理结构
- 23.3.3 使用 PDO 执行 SQL 的选择语句
- 23.3.4 使用 PDO 获取返回数据的类方法
- 23.3.5 使用 PDO 执行 SQL 的添加、修改语句
- 23.3.6 使用 PDO 执行 SQL 的删除语句
- 23.4 综合实例——PDO 的 prepare 表述
- 23.5 专家解惑
4.24. 第 24 章 综合项目 1——开发网上商城
- 24.1 系统功能描述
- 24.2 系统功能分析
- 24.2.1 系统功能分析
- 24.2.2 数据流程和数据库
- 24.3 代码的具体实现
- 24.4 程序运行
4.25. 第 25 章 综合项目 2——论坛管理系统数据库设计
- 25.1 系统概述
- 25.2 系统功能
- 25.3 数据库设计和实现
- 25.3.1 设计方案图表
- 25.3.2 设计表
- 25.3.3 设计索引
- 25.3.4 设计视图
- 25.3.5 设计触发器
4.26. 第 26 章 综合项目 3——新闻发布系统数据库设计
- 26.1 系统概述
- 26.2 系统功能
- 26.3 数据库设计和实现
- 26.3.1 设计表
- 26.3.2 设计索引
- 26.3.3 设计视图
- 26.3.4 设计触发器