MySQL 5.7从入门到精通(视频教学版)(第2版)

MySQL 5.7从入门到精通(视频教学版)(第2版) pdf epub mobi txt 电子书 下载 2026

出版者:清华大学出版社
作者:张工厂
出品人:
页数:0
译者:
出版时间:2019-4
价格:138元
装帧:平装
isbn号码:9787302524281
丛书系列:
图书标签:
  • 编程
  • 数据库
  • mysql
  • MySQL
  • 数据库
  • SQL
  • 入门
  • 精通
  • 视频教程
  • 第2版
  • 开发
  • 编程
  • 数据管理
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书主要包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与还原、日志以及性能优化。*后通过3个综合案例的数据库设计,进一步讲述MySQL在实际工作中的应用。重点介绍MySQL安装与配置、数据类型和运算符以及数据表的操作。本书注重实战操作,帮助读者循序渐进地掌握MySQL中的各项技术。

本书共有480个实例和19个综合案例,还有大量的经典习题。随书赠送了近20小时培训班形式的视频教学录像,详细讲解了书中每一个知识点和每一个数据库操作的方法和技巧。同时光盘中还提供了本书所有例子的源代码,读者可以直接查看和调用。

本书适合MySQL数据库初学者、MySQL数据库开发人员和MySQL数据库管理员,同时也能作为高等院校和培训学校相关专业师生的教学用书。

PostgreSQL 16 数据库开发与管理实战指南 作者: 王志强 出版社: 电子工业出版社 出版日期: 2024 年 10 月 --- 内容简介 本书是为广大数据库开发者、系统管理员以及希望深入掌握新一代开源关系型数据库——PostgreSQL 16 的专业人士倾力打造的深度实践教程。它不仅涵盖了从基础概念到高级特性的全面讲解,更侧重于在真实生产环境中应用 PostgreSQL 16 提供的强大功能、性能优化技巧和高可用性策略。 PostgreSQL 以其高度的可扩展性、对标准 SQL 的完美支持以及企业级的数据完整性保障而著称。随着版本迭代,PostgreSQL 16 在性能、并行处理、查询优化器以及 JSON/地理空间能力上取得了显著进步。本书将紧密围绕这些新特性展开,提供大量详实的代码示例、配置截图和实战案例,确保读者能够快速、高效地将所学知识应用于工作。 全书结构清晰,由浅入深,分为四个主要部分,共十八章内容: 第一部分:PostgreSQL 16 基础架构与环境搭建 本部分旨在为读者打下坚实的理论基础,并引导完成从零开始的 PostgreSQL 16 环境配置。 第 1 章:PostgreSQL 16 新特性概览与架构解析 深入剖析 PostgreSQL 16 相较于前代的性能提升点,特别是并行查询和复制机制的改进。 详细解读 PostgreSQL 的核心架构:进程模型(Postmaster、后端进程、后台工作者)、内存结构(共享缓冲区、WAL 缓冲区)和存储结构(数据文件、WAL 文件、TOAST 机制)。 PostgreSQL 16 在安全模型(如身份验证、行级安全策略 RLS)方面的增强。 第 2 章:高效安装与初始配置 跨平台(Linux/CentOS Stream、Windows Server、macOS)的 PostgreSQL 16 源码编译与预编译包安装指南。 集群初始化(`initdb`)的关键参数解析与最佳实践。 配置文件的精细化调整:`postgresql.conf`、`pg_hba.conf` 的全面解析。 使用 `pg_ctl` 和 Systemd/Service 管理 PostgreSQL 服务。 第 3 章:客户端连接、数据类型与基本 DDL/DML 操作 使用 `psql` 命令行工具进行高效交互,以及连接池工具(如 PgBouncer)的初步介绍。 全面掌握 PostgreSQL 强大的数据类型系统:原生 JSONB(索引、操作符、函数)、几何数据类型、数组类型、UUID 等。 标准 SQL 命令的实现与 PostgreSQL 特有语法的应用,包括 CTE (Common Table Expressions) 和窗口函数的深入运用。 第二部分:高级查询、性能调优与索引策略 本部分是本书的核心,专注于如何编写高性能 SQL 语句,并充分利用 PostgreSQL 16 强大的查询优化器。 第 4 章:查询优化器工作原理与执行计划分析 PostgreSQL 优化器如何选择执行路径:成本模型、统计信息的作用。 精通 `EXPLAIN (ANALYZE, BUFFERS, VERBOSE)` 的使用,解读执行计划中的各项指标(如 Nested Loop、Hash Join、Merge Join 的选择)。 如何通过调整配置参数(如 `work_mem`、`random_page_cost`)影响优化器的决策。 第 5 章:索引技术的精深运用 B-Tree 索引的高级用法:部分索引、包含列索引 (INCLUDE 语句)。 深入理解和应用 GiST (Generalized Search Tree) 和 SP-GiST 索引,特别是在地理空间数据和全文检索中的应用。 掌握 GIN 索引在 JSONB 和数组字段上的加速作用。 何时使用 BRIN 索引来应对超大表和顺序写入场景。 第 6 章:PostgreSQL 16 并行查询深入实践 并行化是如何在 PostgreSQL 16 中改进的:并行 Seq Scan, Parallel Index Scan, Parallel Aggregate。 如何通过设置 `max_parallel_workers_per_gather` 等参数控制并行度。 识别并解决并行查询中的常见性能瓶颈。 第 7 章:存储过程、函数与扩展模块 使用 PL/pgSQL 编写复杂的存储过程和触发器,关注事务控制和错误处理。 探索 PostgreSQL 强大的扩展生态系统:如 PostGIS(地理信息系统)、TimescaleDB(时序数据库)的集成与使用。 利用 C 语言或 Python 编写自定义函数,实现特定业务逻辑的高效计算。 第三部分:高可用性、复制与数据安全 本部分聚焦于确保数据库在生产环境中的稳定运行、数据持久性和灾难恢复能力。 第 8 章:流复制(Streaming Replication)的部署与管理 深入解析 PostgreSQL 16 中的物理流复制机制:Primary/Standby 架构的搭建。 配置实时同步(Synchronous Replication)与异步复制,并分析其延迟影响。 使用 `pg_basebackup` 进行快速基准备份和恢复。 第 9 章:逻辑复制(Logical Replication)实战 PostgreSQL 16 中逻辑复制的增强功能与应用场景(跨主要版本升级、细粒度数据分发)。 定义发布 (Publication) 和订阅 (Subscription),实现特定表的双向同步。 处理逻辑复制中的数据冲突和模式变更同步问题。 第 10 章:备份、恢复与时间点恢复 (PITR) 配置 WAL 归档,确保数据的完整性。 使用 `pg_dump` 和 `pg_dumpall` 进行逻辑备份的最佳实践。 执行完整的集群恢复和精细的 PITR 操作,精确恢复到某一特定时间点。 第 11 章:安全加固与审计 细致配置 `pg_hba.conf`,实现基于角色的安全访问控制。 实施行级安全策略 (RLS) 以满足复杂的合规性要求。 利用 `pgaudit` 或其他工具对数据库操作进行全面审计。 第四部分:数据库运维、监控与高级应用 本部分面向系统管理员和资深 DBA,涵盖日常维护、监控和处理大规模数据挑战的策略。 第 12 章:VACUUM 机制与表维护策略 深入理解 MVCC (Multi-Version Concurrency Control) 和垃圾回收(VACUUM)的原理。 自动清理 (Autovacuum) 的调优:设置针对不同表的热度配置。 手动 `VACUUM` 和 `ANALYZE` 的时机选择,防止事务 ID (XID) 溢出。 第 13 章:连接池管理与应用集成 深入配置和使用 PgBouncer 实现高效的连接池化,解决高并发下的连接数瓶颈。 集成应用层框架(如 Hibernate/Django/Node.js ORM)与 PostgreSQL 的最佳连接实践。 第 14 章:表空间、分区与数据分片 利用表空间 (Tablespaces) 管理数据存储位置,实现热点数据的分离。 PostgreSQL 16 内置声明式分区(Declarative Partitioning)的全面指南:Range, List, Hash 分区。 设计高效的分区键,优化查询剪枝 (Partition Pruning)。 第 15 章:性能监控与故障排除 利用 `pg_stat_statements` 识别慢查询的根源。 实时监控系统视图:`pg_locks`、`pg_stat_activity`、`pg_stat_bgwriter` 的应用。 设置和解析 PostgreSQL 日志,快速定位锁等待和僵尸进程。 第 16 章:全文检索 (FTS) 的高级应用 配置和优化配置文件 (Configuration Files)。 使用 `tsvector` 和 `tsquery` 进行复杂的文档搜索和排名 (Ranking)。 结合 GIN 索引实现毫秒级的全文检索能力。 第 17 章:地理空间数据处理(PostGIS 深度整合) 安装和配置 PostGIS 扩展。 空间索引(GiST)的构建与使用。 执行常见的空间操作:距离计算、相交查询、缓冲区分析等。 第 18 章:总结与展望 PostgreSQL 16 生产环境部署清单与检查表。 未来版本(PostgreSQL 17+)可能的发展方向和准备工作。 本书适合具有一定 SQL 基础,并希望从普通用户进阶为能够独立设计、部署和运维企业级 PostgreSQL 16 系统的技术人员阅读。通过本书的学习,读者将能够自信地驾驭 PostgreSQL 16 带来的全部性能红利和功能优势。

作者简介

目录信息

第1章 初识MySQL 1
1.1 数据库基础 1
1.1.1 什么是数据库 1
1.1.2 表 2
1.1.3 数据类型 2
1.1.4 主键 2
1.2 数据库技术构成 3
1.2.1 数据库系统 3
1.2.2 SQL语言 4
1.2.3 数据库访问接口 5
1.3 什么是MySQL 6
1.3.1 客户机-服务器软件 6
1.3.2 MySQL版本 6
1.3.3 MySQL的优势 7
1.3.4 了解MySQL 5.7的新特性 8
1.4 MySQL工具 10
1.4.1 MySQL命令行实用程序 10
1.4.2 MySQL Workbench 11
1.5 如何学习MySQL 11
第2章 MySQL的安装与配置 13
2.1 Windows平台下安装与配置MySQL 5.7 13
2.1.1 安装MySQL 5.7 13
2.1.2 配置MySQL 5.7 17
2.2 启动服务并登录MySQL数据库 21
2.2.1 启动MySQL服务 22
2.2.2 登录MySQL数据库 23
2.2.3 配置Path变量 24
2.3 MySQL常用图形管理工具 26
2.4 Linux平台下安装与配置MySQL 5.7 27
2.4.1 Linux操作系统下的MySQL版本介绍 27
2.4.2 安装和配置MySQL的RPM包 28
2.4.3 安装和配置MySQL的源码包 31
2.5 专家解惑 32
2.6 经典习题 32
第3章 数据库的基本操作 33
3.1 创建数据库 33
3.2 删除数据库 34
3.3 综合案例——数据库的创建和删除 35
3.4 专家解惑 37
3.5 经典习题 37
第4章 数据表的基本操作 38
4.1 创建数据表 38
4.1.1 创建表的语法形式 38
4.1.2 使用主键约束 40
4.1.3 使用外键约束 41
4.1.4 使用非空约束 42
4.1.5 使用唯一性约束 43
4.1.6 使用默认约束 43
4.1.7 设置表的属性值自动增加 44
4.2 查看数据表结构 45
4.2.1 查看表基本结构语句DESCRIBE 45
4.2.2 查看表详细结构语句SHOW CREATE TABLE 46
4.3 修改数据表 47
4.3.1 修改表名 47
4.3.2 修改字段的数据类型 48
4.3.3 修改字段名 49
4.3.4 添加字段 50
4.3.5 删除字段 52
4.3.6 修改字段的排列位置 53
4.3.7 更改表的存储引擎 54
4.3.8 删除表的外键约束 56
4.4 删除数据表 57
4.4.1 删除没有被关联的表 57
4.4.2 删除被其他表关联的主表 58
4.5 综合案例——数据表的基本操作 60
4.6 专家解惑 68
4.7 经典习题 68
第5章 数据类型和运算符 70
5.1 MySQL数据类型介绍 70
5.1.1 整数类型 70
5.1.2 浮点数类型和定点数类型 72
5.1.3 日期与时间类型 74
5.1.4 文本字符串类型 86
5.1.5 二进制字符串类型 91
5.2 如何选择数据类型 93
5.3 常见运算符介绍 95
5.3.1 运算符概述 95
5.3.2 算术运算符 96
5.3.3 比较运算符 97
5.3.4 逻辑运算符 105
5.3.5 位运算符 108
5.3.6 运算符的优先级 111
5.4 综合案例——运算符的使用 112
5.5 专家解惑 114
5.6 经典习题 115
第6章 MySQL函数 116
6.1 MySQL函数简介 116
6.2 数学函数 117
6.2.1 绝对值函数ABS(x)和返回圆周率的函数PI() 117
6.2.2 平方根函数SQRT(x)和求余函数MOD(x,y) 117
6.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 118
6.2.4 获取随机数的函数RAND()和RAND(x) 119
6.2.5 函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 119
6.2.6 符号函数SIGN(x) 120
6.2.7 幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 121
6.2.8 对数运算函数LOG(x)和LOG10(x) 121
6.2.9 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 122
6.2.10 正弦函数SIN(x)和反正弦函数ASIN(x) 122
6.2.11 余弦函数COS(x)和反余弦函数ACOS(x) 123
6.2.12 正切函数、反正切函数和余切函数 123
6.3 字符串函数 124
6.3.1 计算字符串字符数的函数和计算字符串长度的函数 124
6.3.2 合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 125
6.3.3 替换字符串的函数INSERT(s1,x,len,s2) 126
6.3.4 字母大小写转换函数 126
6.3.5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 127
6.3.6 填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 128
6.3.7 删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 128
6.3.8 删除指定字符串的函数TRIM(s1 FROM s) 129
6.3.9 重复生成字符串的函数REPEAT(s,n) 130
6.3.10 空格函数SPACE(n)和替换函数REPLACE(s,s1,s2) 130
6.3.11 比较字符串大小的函数STRCMP(s1,s2) 130
6.3.12 获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len) 131
6.3.13 匹配子串开始位置的函数 132
6.3.14 字符串逆序的函数REVERSE(s) 132
6.3.15 返回指定位置的字符串的函数 133
6.3.16 返回指定字符串位置的函数FIELD(s,s1,s2,…) 133
6.3.17 返回子串位置的函数FIND_IN_SET(s1,s2) 133
6.3.18 选取字符串的函数MAKE_SET(x,s1,s2,…) 134
6.4 日期和时间函数 134
6.4.1 获取当前日期的函数和获取当前时间的函数 135
6.4.2 获取当前日期和时间的函数 135
6.4.3 UNIX时间戳函数 136
6.4.4 返回UTC日期的函数和返回UTC时间的函数 136
6.4.5 获取月份的函数MONTH(date)和MONTHNAME(date) 137
6.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 137
6.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d) 138
6.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d) 139
6.4.9 获取年份、季度、小时、分钟和秒钟的函数 140
6.4.10 获取日期的指定值的函数EXTRACT(type FROM date) 141
6.4.11 时间和秒钟转换的函数 141
6.4.12 计算日期和时间的函数 142
6.4.13 将日期和时间格式化的函数 145
6.5 条件判断函数 148
6.5.1 IF(expr,v1,v2)函数 148
6.5.2 IFNULL(v1,v2)函数 148
6.5.3 CASE函数 149
6.6 系统信息函数 149
6.6.1 获取MySQL版本号、连接数和数据库名的函数 150
6.6.2 获取用户名的函数 151
6.6.3 获取字符串的字符集和排序方式的函数 152
6.6.4 获取最后一个自动生成的ID值的函数 153
6.7 加密函数 154
6.7.1 加密函数PASSWORD(str) 155
6.7.2 加密函数MD5(str) 155
6.7.3 加密函数ENCODE(str,pswd_str) 155
6.7.4 解密函数DECODE(crypt_str,pswd_str) 156
6.8 其他函数 156
6.8.1 格式化函数FORMAT(x,n) 156
6.8.2 不同进制的数字进行转换的函数 157
6.8.3 IP地址与数字相互转换的函数 157
6.8.4 加锁函数和解锁函数 158
6.8.5 重复执行指定操作的函数 159
6.8.6 改变字符集的函数 160
6.8.7 改变数据类型的函数 160
6.9 综合案例——MySQL函数的使用 161
6.10 专家解惑 164
6.11 经典习题 165
第7章 查询数据 166
7.1 基本查询语句 166
7.2 单表查询 168
7.2.1 查询所有字段 169
7.2.2 查询指定字段 170
7.2.3 查询指定记录 171
7.2.4 带IN关键字的查询 173
7.2.5 带BETWEEN AND的范围查询 175
7.2.6 带LIKE的字符匹配查询 176
7.2.7 查询空值 178
7.2.8 带AND的多条件查询 179
7.2.9 带OR的多条件查询 180
7.2.10 查询结果不重复 181
7.2.11 对查询结果排序 182
7.2.12 分组查询 186
7.2.13 使用LIMIT限制查询结果的数量 191
7.3 使用集合函数查询 192
7.3.1 COUNT()函数 193
7.3.2 SUM()函数 194
7.3.3 AVG()函数 195
7.3.4 MAX()函数 196
7.3.5 MIN()函数 197
7.4 连接查询 198
7.4.1 内连接查询 198
7.4.2 外连接查询 201
7.4.3 复合条件连接查询 203
7.5 子查询 204
7.5.1 带ANY、SOME关键字的子查询 204
7.5.2 带ALL关键字的子查询 205
7.5.3 带EXISTS关键字的子查询 205
7.5.4 带IN关键字的子查询 207
7.5.5 带比较运算符的子查询 209
7.6 合并查询结果 210
7.7 为表和字段取别名 213
7.7.1 为表取别名 213
7.7.2 为字段取别名 215
7.8 使用正则表达式查询 216
7.8.1 查询以特定字符或字符串开头的记录 217
7.8.2 查询以特定字符或字符串结尾的记录 218
7.8.3 用符号“.”替代字符串中的任意一个字符 218
7.8.4 使用“*”和“ ”来匹配多个字符 219
7.8.5 匹配指定字符串 219
7.8.6 匹配指定字符中的任意一个 220
7.8.7 匹配指定字符以外的字符 221
7.8.8 使用{n,}或者{n,m}指定字符串连续出现的次数 222
7.9 综合案例——数据表查询操作 223
7.10 专家解惑 230
7.11 经典习题 231
第8章 插入、更新与删除数据 232
8.1 插入数据 232
8.1.1 为表的所有字段插入数据 232
8.1.2 为表的指定字段插入数据 234
8.1.3 同时插入多条记录 236
8.1.4 将查询结果插入表中 238
8.2 更新数据 240
8.3 删除数据 242
8.4 MySQL 5.7的新特性——为表增加计算列 244
8.5 综合案例——记录的插入、更新和删除 245
8.6 专家解惑 249
8.7 经典习题 250
第9章 索引 251
9.1 索引简介 251
9.1.1 索引的含义和特点 251
9.1.2 索引的分类 252
9.1.3 索引的设计原则 253
9.2 创建索引 253
9.2.1 创建表的时候创建索引 253
9.2.2 在已经存在的表上创建索引 259
9.3 删除索引 266
9.4 综合案例——创建索引 268
9.5 专家解惑 271
9.6 经典习题 271
第10章 存储过程和函数 272
10.1 创建存储过程和函数 272
10.1.1 创建存储过程 273
10.1.2 创建存储函数 275
10.1.3 变量的使用 276
10.1.4 定义条件和处理程序 277
10.1.5 光标的使用 280
10.1.6 流程控制的使用 282
10.2 调用存储过程和函数 286
10.2.1 调用存储过程 286
10.2.2 调用存储函数 287
10.3 查看存储过程和函数 288
10.3.1 使用SHOW STATUS语句查看存储过程和函数的状态 288
10.3.2 使用SHOW CREATE语句查看存储过程和函数的定义 289
10.3.3 从information_schema.Routines表中查看存储过程和函数的信息 289
10.4 修改存储过程和函数 291
10.5 删除存储过程和函数 293
10.6 综合案例——创建存储过程和函数 293
10.7 专家解惑 296
10.8 经典习题 297
第11章 视图 298
11.1 视图概述 298
11.1.1 视图的含义 298
11.1.2 视图的作用 299
11.2 创建视图 300
11.2.1 创建视图的语法形式 300
11.2.2 在单表上创建视图 301
11.2.3 在多表上创建视图 302
11.3 查看视图 303
11.3.1 使用DESCRIBE语句查看视图基本信息 303
11.3.2 使用SHOW TABLE STATUS语句查看视图基本信息 303
11.3.3 使用SHOW CREATE VIEW语句查看视图详细信息 305
11.3.4 在views表中查看视图详细信息 305
11.4 修改视图 307
11.4.1 使用CREATE OR REPLACE VIEW语句修改视图 307
11.4.2 使用ALTER语句修改视图 308
11.5 更新视图 309
11.6 删除视图 311
11.7 综合案例——视图应用 312
11.8 专家解惑 320
11.9 经典习题 321
第12章 MySQL触发器 322
12.1 创建触发器 322
12.1.1 创建只有一个执行语句的触发器 323
12.1.2 创建有多个执行语句的触发器 324
12.2 查看触发器 326
12.2.1 SHOW TRIGGERS语句查看触发器信息 326
12.2.2 在triggers表中查看触发器信息 328
12.3 触发器的使用 329
12.4 删除触发器 330
12.5 综合案例——触发器的使用 331
12.6 专家解惑 333
12.7 经典习题 333
第13章 MySQL权限与安全管理 334
13.1 权限表 334
13.1.1 user表 334
13.1.2 db表 337
13.1.3 tables_priv表和columns_priv表 338
13.1.4 procs_priv表 339
13.2 账户管理 339
13.2.1 登录和退出MySQL服务器 340
13.2.2 新建普通用户 341
13.2.3 删除普通用户 345
13.2.4 root用户修改自己的密码 346
13.2.5 root用户修改普通用户密码 348
13.2.6 普通用户修改密码 349
13.2.7 root用户密码丢失的解决办法 349
13.3 权限管理 351
13.3.1 MySQL的各种权限 351
13.3.2 授权 353
13.3.3 收回权限 355
13.3.4 查看权限 356
13.4 访问控制 357
13.4.1 连接核实阶段 357
13.4.2 请求核实阶段 358
13.5 MySQL 5.7的新特性——提升安全性 359
13.5.1 AES 256加密 359
13.5.2 密码到期更换策略 360
15.5.3 安全模式安装 362
13.6 综合案例——综合管理用户权限 362
13.7 专家解惑 366
13.8 经典习题 366
第14章 数据备份与恢复 368
14.1 数据备份 368
14.1.1 使用MySQLdump命令备份 368
14.1.2 直接复制整个数据库目录 373
14.1.3 使用MySQLhotcopy工具快速备份 374
14.2 数据恢复 374
14.2.1 使用MySQL命令恢复 374
14.2.2 直接复制到数据库目录 375
14.2.3 MySQLhotcopy快速恢复 375
14.3 数据库迁移 376
14.3.1 相同版本的MySQL数据库之间的迁移 376
14.3.2 不同版本的MySQL数据库之间的迁移 377
14.3.3 不同数据库之间的迁移 377
14.4 表的导出和导入 377
14.4.1 使用SELECTI…INTO OUTFILE导出文本文件 378
14.4.2 使用MySQLdump命令导出文本文件 381
14.4.3 使用MySQL命令导出文本文件 383
14.4.4 使用LOAD DATA INFILE方式导入文本文件 386
14.4.5 使用MySQLimport命令导入文本文件 389
14.5 综合案例——数据的备份与恢复 390
14.6 专家解惑 395
14.7 经典习题 396
第15章 MySQL日志 397
15.1 日志简介 397
15.2 二进制日志 398
15.2.1 启动和设置二进制日志 398
15.2.2 查看二进制日志 399
15.2.3 删除二进制日志 401
15.2.4 使用二进制日志恢复数据库 403
15.2.5 暂时停止二进制日志功能 404
15.3 错误日志 404
15.3.1 启动和设置错误日志 404
15.3.2 查看错误日志 405
15.3.3 删除错误日志 406
15.4 通用查询日志 406
15.4.1 启动和设置通用查询日志 406
15.4.2 查看通用查询日志 406
15.4.3 删除通用查询日志 407
15.5 慢查询日志 408
15.5.1 启动和设置慢查询日志 408
15.5.2 查看慢查询日志 408
15.5.3 删除慢查询日志 409
15.6 综合案例——MySQL日志的综合管理 409
15.7 专家解惑 415
15.8 经典习题 416
第16章 性能优化 417
16.1 优化简介 417
16.2 优化查询 418
16.2.1 分析查询语句 418
16.2.2 索引对查询速度的影响 422
16.2.3 使用索引查询 423
16.2.4 优化子查询 426
16.3 优化数据库结构 426
16.3.1 将字段很多的表分解成多个表 426
16.3.2 增加中间表 427
16.3.3 增加冗余字段 429
16.3.4 优化插入记录的速度 430
16.3.5 分析表、检查表和优化表 431
16.4 优化MySQL服务器 433
16.4.1 优化服务器硬件 433
16.4.2 优化MySQL的参数 434
16.5 MySQL 5.7的新特性1——临时表性能优化 435
16.6 MySQL 5.7的新特性2——服务器语句超时处理 437
16.7 MySQL 5.7的新特性3——支持创建全局通用表空间 438
16.8 综合案例——全面优化MySQL服务器 438
16.9 专家解惑 441
16.10 经典习题 442
第17章 MySQL Replication 443
17.1 MySQL Replication概述 443
17.2 Windows环境下的MySQL主从复制 444
17.2.1 复制前的准备工作 444
17.2.2 Windows环境下实现主从复制 445
17.2.3 Windows环境下主从复制测试 452
17.3 Linux环境下的MySQL复制 453
17.3.1 下载并安装MySQL 5.7 453
17.3.2 单机主从复制前的准备工作 455
17.3.3 mysqld_multi实现单机主从复制 458
17.3.4 不同服务器之间实现主从复制 466
17.3.5 MySQL 主要复制启动选项 467
17.3.6 指定复制的数据库或者表 468
17.4 查看Slave的复制进度 476
17.5 日常管理和维护 477
17.5.1 了解服务器的状态 477
17.5.2 服务器复制出错的原因 478
17.6 切换主从服务器 481
17.7 MySQL 5.7的新特性——多源复制的改进 485
17.8 专家解惑 487
17.9 经典习题 489
第18章 MySQL Workbench 的使用 490
18.1 MySQL Workbench简介 490
18.1.1 MySQL Workbench的概述 490
18.1.2 MySQL Workbench的优势 491
18.1.3 MySQL Workbench的安装 491
18.2 SQL Development的基本操作 493
18.2.1 创建数据库连接 493
18.2.2 创建新的数据库 494
18.2.3 创建和删除新的数据表 496
18.2.4 添加、修改表记录 498
18.2.5 查询表记录 499
18.2.6 修改表结构 500
18.3 Data Modeling的基本操作 501
18.3.1 建立ER模型 501
18.3.2 导入ER模型 505
18.4 Server Administration的基本操作 507
18.4.1 管理MySQL用户 507
18.4.2 备份MySQL数据库 509
18.4.3 恢复MySQL数据库 511
18.5 专家解惑 512
18.6 经典习题 513
第19章 MySQL Cluster 514
19.1 MySQL Cluster概述 514
19.1.1 MySQL Cluster基本概念 514
19.1.2 理解MySQL Cluster节点 515
19.2 Linux环境下MySQL Cluster安装和配置 516
19.2.1 安装MySQL Cluster软件 519
19.2.2 管理节点配置步骤 523
19.2.3 配置SQL节点和数据节点 524
19.3 管理MySQL Cluster 525
19.3.1 Cluster的启动 525
19.3.2 Cluster的测试 527
19.3.3 Cluster的关闭 529
19.4 维护MySQL Cluster 530
19.4.1 Cluster的日志管理 532
19.4.2 Cluster的联机备份 533
19.4.3 Cluster的数据恢复 534
19.5 Wndows操作系统中配置Cluster集群 535
19.6 专家解惑 541
19.7 经典习题 542
第20章 MySQL管理利器——MySQL Utilities 543
20.1 MySQL Utilities概述 543
20.2 安装与配置 544
20.2.1 下载与安装MySQL Utilities 544
20.2.2 MySQL Utilities连接数据库 547
20.3 管理与维护 548
20.3.1 使用mysqldbcompare比较数据 548
20.3.2 使用mysqldbcopy复制数据 548
20.3.3 使用mysqldbexport导出数据 549
20.3.4 使用mysqldbimport导入数据 549
20.3.5 使用mysqldiff比较对象的定义 550
20.4 专家解惑 550
20.5 经典习题 551
第21章 读写分离的利器——MySQL Proxy 552
21.1 概述 552
21.2 安装与配置 553
21.2.1 下载与安装MySQL Proxy 553
20.2.2 配置MySQL Proxy参数 554
21.2.3 配置Path变量 556
21.3 使用MySQL Proxy实现读写分离 558
21.4 专家解惑 559
21.5 经典习题 559
第22章 精通MySQL存储引擎 560
22.1 MySQL架构 560
22.1.1 MySQL物理文件的组成 561
22.1.2 MySQL各逻辑块简介 563
22.1.3 MySQL各逻辑块协调工作 566
22.2 数据库存储引擎 567
22.2.1 MySQL存储引擎简介 567
22.2.2 InnoDB存储引擎 569
22.2.3 MyISAM存储引擎 570
22.2.4 MEMORY存储引擎 570
22.2.5 MERGE存储引擎 571
22.2.6 BerkeleyDB存储引擎 573
22.3 认识MySQL的锁定机制 574
22.4 MyISAM的锁定机制 578
22.4.1 MyISAM表级锁的锁模式 578
22.4.2 获取MyISAM表级锁的争用情况 581
22.4.3 MyISAM表级锁加锁的方法 582
22.4.4 MyISAM Concurrent Insert的特性 583
22.4.5 MyISAM表级锁优化建议 585
22.5 InnoDB的锁定机制 586
22.5.1 InnoDB行级锁模式 586
22.5.2 获取InnoDB行级锁的争用情况 590
22.5.3 InnoDB行级锁的实现方法 593
22.5.4 间隙锁(Net-Key锁) 597
22.5.5 InnoDB 在不同隔离级别下加锁的差异 598
22.5.6 InnoDB 存储引擎中的死锁 599
22.5.7 InnoDB行级锁优化建议 601
22.6 MySQL 5.7的新特性1——InnoDB存储引擎的在线操作 602
22.6.1 在线添加主键 602
22.6.2 在线增大VARCHAR列长 603
22.6.3 在线重命名索引 604
22.7 MySQL 5.7的新特性2——支持JSON类型 605
22.8 MySQL 5.7的新特性3——全文索引的加强 607
22.9 MySQL 5.7的新特性4——动态修改InnoDB缓冲池的大小 609
22.10 MySQL 5.7的新特性5——表空间数据加密 610
22.11 专家解惑 611
22.12 经典习题 612
第23章 PHP操作MySQL数据库 613
23.1 PHP访问MySQL数据库的一般步骤 613
23.2 连接数据库前的准备工作 614
23.3 访问数据库 615
23.3.1 使用mysqli_connect()函数连接MySQL服务器 615
23.3.2 使用mysqli_select_db()函数更改默认的数据库 616
23.3.3 使用mysqli_close()函数关闭MySQL连接 617
23.3.4 使用mysqli_query()函数执行SQL语句 617
23.3.5 获取查询结果集中的记录数 618
23.3.6 获取结果集中的一条记录作为枚举数组 619
23.3.7 获取结果集中的记录作为关联数组 620
23.3.8 获取结果集中的记录作为对象 621
23.3.9 使用mysqli_fetch_array()函数获取结果集记录 621
23.3.10 使用mysqli_free_result()函数释放资源 622
23.4 综合实例1——PHP操作MySQL数据库 622
23.5 综合实例2——使用insert语句动态添加用户信息 624
23.6 综合实例3——使用select语句查询数据信息 626
23.7 专家解惑 628
第24章 PDO数据库抽象类库 629
24.1 PDO概述 629
24.2 PDO的安装 630
24.3 使用PDO操作MySQL 630
24.3.1 连接MySQL数据库的方法 631
24.3.2 使用PDO时的try catch错误处理结构 632
24.3.3 使用PDO执行SQL的选择语句 634
24.3.4 使用PDO获取返回数据的类方法 635
24.3.5 使用PDO执行SQL的添加、修改语句 637
24.3.6 使用PDO执行SQL的删除语句 638
24.4 综合实例——PDO的prepare表述 639
24.5 专家解惑 640
第25章 论坛管理系统数据库设计 642
25.1 系统概述 642
25.2 系统功能 643
25.3 数据库设计和实现 644
25.3.1 设计方案图表 644
25.3.2 设计表 646
25.3.3 设计索引 649
25.3.4 设计视图 650
25.3.5 设计触发器 651
第26章 新闻发布系统数据库设计 653
26.1 系统概述 653
26.2 系统功能 654
26.3 数据库设计和实现 655
26.3.1 设计表 655
26.3.2 设计索引 659
26.3.3 设计视图 660
26.3.4 设计触发器 661
第27章 开发网上商城 662
27.1 系统功能描述 662
27.2 系统功能分析 663
27.2.1 系统功能分析 663
27.2.2 数据流程和数据库 664
27.3 代码的具体实现 667
27.4 程序运行 679
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

作为一名有一定开发经验的开发者,我一直在寻找一本能够帮助我深入理解 MySQL 的书籍。市面上关于 MySQL 的书籍不在少数,但很多都停留在表面,无法满足我更深层次的学习需求。直到我发现了《MySQL 5.7从入门到精通(视频教学版)(第2版)》,我才找到了我一直在寻找的那本书。这本书的内容非常全面,从基础概念到高级特性,几乎涵盖了 MySQL 开发和管理的方方面面。作者在讲解过程中,不仅仅是罗列知识点,而是深入地分析了各种技术背后的原理,以及它们在实际应用中的重要性。 我尤其欣赏书中关于事务和并发控制的章节。这些内容对于理解数据库的可靠性和一致性至关重要,但往往也是最容易被忽视的。作者用生动形象的比喻,将复杂的概念讲解得浅显易懂,让我能够清晰地理解事务的 ACID 特性,以及并发控制机制是如何保证数据的一致性的。这对我今后的开发工作提供了巨大的帮助,让我能够写出更健壮、更可靠的数据库应用程序。这本书让我对 MySQL 的理解上升到了一个新的高度,也让我更有信心去处理更复杂的数据库相关的问题。

评分

我的专业是软件工程,在学习过程中,数据库是绕不开的一环。虽然接触过一些数据库,但始终感觉自己对 MySQL 的掌握不够深入,缺乏系统性的知识。直到我发现了这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》,我才意识到之前学习的知识是多么的碎片化。《MySQL 5.7从入门到精通(视频教学版)(第2版)》为我提供了一个非常系统和完整的学习框架。从数据库的基本概念、SQL 语言到高级特性,这本书都进行了详尽的讲解。我尤其欣赏书中关于数据库设计范式的内容,这让我明白了如何设计出结构合理、易于维护的数据库。 在学习过程中,我尝试着将书中的知识应用到我的课程项目设计中。例如,在设计用户管理系统时,我学会了如何根据实际需求,合理地设计数据表结构,以及如何通过外键约束来保证数据之间的关联性。此外,书中关于数据库性能调优的内容,也让我受益匪浅。我学会了如何使用 EXPLAIN 命令来分析 SQL 查询的执行计划,以及如何通过索引优化和查询重写来提升数据库的查询效率。这些知识点的掌握,极大地提升了我的数据库设计和开发能力,也为我未来的职业发展打下了坚实的基础。

评分

在学习 MySQL 的过程中,我曾遇到过很多技术上的瓶颈,也曾对一些复杂的概念感到困惑。但每当我翻开这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》,我就仿佛找到了解决问题的良方。这本书的讲解非常细致,而且富有条理,让我能够一步步地攻克技术难关。我尤其欣赏书中关于数据库连接和连接池的讲解。在实际开发中,高效的数据库连接是保证应用程序性能的关键。作者不仅讲解了如何建立数据库连接,还深入地介绍了连接池的概念和原理,以及如何在应用程序中配置和使用连接池来提高数据库访问的效率。 书中关于数据库事务隔离级别的讲解,也让我对如何保证数据的一致性有了更深入的理解。作者用通俗易懂的语言,将不同的隔离级别(读未提交、读已提交、可重复读、串行化)及其可能带来的问题(脏读、不可重复读、幻读)进行了详细的阐述,并提供了如何在实际应用中选择合适的隔离级别的建议。这些知识点对于我编写健壮的并发程序至关重要,让我能够更好地理解和避免数据库并发访问中可能出现的各种问题,从而提升我的开发水平。

评分

作为一名渴望掌握新技术、提升自身竞争力的在职开发者,我一直在寻找能够快速提升 MySQL 技能的书籍。偶然间,我在朋友的推荐下,发现了这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》。这本书的内容非常具有针对性,它不仅仅局限于基础知识的讲解,更侧重于如何将 MySQL 应用于实际的开发场景中。我尤其喜欢书中关于性能优化和高可用性部署的部分,这些内容对于保证生产环境下的数据库稳定运行至关重要。 书中关于主从复制和读写分离的讲解,让我对如何构建高性能、高可用的数据库集群有了更深入的理解。作者用清晰的图示和详尽的步骤,演示了如何配置主从复制,以及如何实现读写分离,从而有效地分散数据库的访问压力。这对我今后的系统架构设计提供了重要的参考。此外,书中关于性能调优的部分,也提供了非常实用的技巧和方法,例如如何优化 MySQL 的配置文件,如何通过参数调优来提升数据库的性能。这些内容不仅具有理论价值,更具有极高的实践指导意义,让我能够立即将学到的知识应用到我的工作中。

评分

在学习数据库的过程中,我曾无数次地陷入困境,感到迷茫和无助。但是,每当我翻开这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》,我就仿佛找到了指路的明灯。它不仅仅是一本技术书籍,更像是一位耐心的导师,循循善诱,引导我克服学习道路上的重重障碍。书中对SQL语言的讲解,堪称是教科书级别的。从最基本的 SELECT、INSERT、UPDATE、DELETE 到复杂的 JOIN、子查询、函数应用,作者都进行了详尽的阐述,并配以大量的实例。这些实例不仅贴近实际开发场景,而且经过作者精心的设计,能够清晰地展示各种SQL语句的用法和效果,让我能够迅速掌握这些强大的查询和操作能力。 我尤其欣赏书中关于索引优化的章节。在初学阶段,我常常会犯一些低级错误,导致数据库查询效率低下,但通过这本书的学习,我才真正理解了索引的重要性,以及如何通过合理的索引设计来提升数据库的性能。作者用通俗易懂的语言,结合实际案例,讲解了各种索引类型、创建方法、以及如何通过 EXPLAIN 命令来分析查询语句的执行计划。这些知识点对我来说,无疑是醍醐灌顶,让我能够更好地理解数据库的运行机制,并学会如何优化我的 SQL 语句,从而提高应用程序的响应速度。

评分

作为一个对数据分析感兴趣的初学者,我深知数据库是数据分析的基石。在寻找学习资料的过程中,我发现了这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》。这本书的内容非常丰富,它不仅讲解了 MySQL 的基础知识,还涵盖了许多与数据分析相关的技术。我尤其欣赏书中关于聚合函数和分组查询的讲解,这些是进行数据统计和分析的基础。作者用大量的实例,演示了如何使用 COUNT、SUM、AVG、MAX、MIN 等聚合函数来计算数据的汇总值,以及如何使用 GROUP BY 子句来对数据进行分组,从而进行更细致的统计分析。 此外,书中关于窗口函数的讲解,更是让我眼前一亮。我之前从未接触过窗口函数,但通过这本书的学习,我才了解到它在数据分析中的强大作用。窗口函数能够对数据进行更复杂的计算,例如计算累计值、排名、移动平均等等,而无需将数据进行分组。这极大地简化了我的数据分析过程,让我能够更高效地从数据中提取有价值的信息。总而言之,这本书为我打开了数据分析的大门,让我能够更好地利用 MySQL 来进行数据探索和洞察。

评分

一直以来,我对数据库的理解都停留在“增删改查”的层面,认为数据库只是一个简单的数据存储工具。但阅读了《MySQL 5.7从入门到精通(视频教学版)(第2版)》之后,我才真正认识到 MySQL 强大的功能和深邃的内涵。这本书的讲解方式非常独特,它不仅仅是枯燥的技术理论堆砌,更是将复杂的概念融入到生动的故事和实际的案例中,让我能够更容易地理解和吸收。我尤其喜欢书中关于数据类型和约束的讲解,这让我明白了如何为数据选择最合适的数据类型,以及如何通过各种约束来保证数据的完整性和一致性。 在学习过程中,我尝试着将书中的知识应用到我的学习项目中。例如,在设计一个电商平台的用户信息表时,我学会了如何为不同的字段选择合适的数据类型,例如使用 INT 类型存储用户 ID,使用 VARCHAR 类型存储用户名,使用 DATETIME 类型存储注册时间等等。同时,我也学会了如何通过 NOT NULL 约束来确保用户名的非空,通过 UNIQUE 约束来保证用户名的唯一性,以及通过 CHECK 约束来验证用户年龄的有效范围。这些细节的掌握,让我能够设计出更加健壮和可靠的数据库,也为我今后的开发工作打下了坚实的基础。

评分

在接触这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》之前,我对存储过程和触发器这些高级数据库功能了解甚少,甚至觉得它们离我的日常开发工作很遥远。但是,这本书却以一种循序渐进的方式,将这些强大的工具展现在我面前,并且教会了我如何有效地使用它们。作者在讲解存储过程时,从基本的语法和结构入手,逐步深入到参数传递、流程控制,以及如何编写复杂的存储过程来完成特定的业务逻辑。更重要的是,作者通过大量的实际应用案例,让我看到了存储过程在提高开发效率和简化复杂操作方面的巨大潜力。 而触发器部分,更是让我惊叹于数据库的自动化能力。通过学习,我理解了触发器是如何在特定的数据库事件发生时自动执行预定义的 SQL 语句,从而实现数据校验、日志记录、甚至是数据同步等功能。书中关于触发器的讲解,不仅理论扎实,而且实践性很强,我能够跟着作者的步骤,一步一步地在自己的环境中搭建和测试触发器,从而加深对这些概念的理解。这种“学以致用”的学习方式,让我能够将书本上的知识迅速转化为实际的技能,这对于我今后的项目开发将会有莫大的帮助。

评分

作为一名初入数据库领域的小白,我怀揣着对 MySQL 的好奇和学习的热情,偶然间发现了这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》。我一直坚信,学习编程语言或是数据库技术,最有效的途径莫过于实践与理论相结合,而这本书恰恰满足了我对这种学习模式的期待。从拿到书的那一刻起,我就被其扎实的内容和细致的讲解所吸引。书中的每一章都仿佛为我量身定制,从最基础的概念引入,循序渐进地带领我认识 MySQL 的世界。它没有回避那些看似枯燥的技术细节,而是用一种更加生动、形象的方式将其呈现出来,让我能够更容易地理解和消化。 尤其是视频教学版的特色,更是让我眼前一亮。我一直觉得,理论知识的吸收往往伴随着理解上的难点,而有了视频的辅助,那些抽象的概念瞬间变得具象化,学习的效率也大大提升。我尤其喜欢书中关于安装配置的章节,作者没有简单地给出一个命令,而是详细地讲解了每一步操作的意义,以及可能遇到的问题和解决方法,这对于我这样的新手来说,简直是福音。它教会了我如何正确地安装 MySQL,如何进行基本的配置,以及如何确保数据库能够正常运行。这种“授人以鱼不如授人以渔”的教学方式,让我不仅仅是学会了操作,更是理解了背后的原理,这为我后续更深入的学习打下了坚实的基础。

评分

坦白说,在遇到这本《MySQL 5.7从入门到精通(视频教学版)(第2版)》之前,我对数据库的管理和维护感到一丝畏惧。总觉得这是一个复杂且难以掌控的领域,但这本书彻底改变了我的看法。作者在讲解数据库管理和维护方面的内容时,条理清晰,逻辑严谨,让我能够轻松理解其中的奥秘。从用户权限管理到数据备份恢复,再到性能调优,每一个环节都被细致地剖析。我印象最深刻的是关于数据备份和恢复的章节,作者不仅讲解了多种备份策略,还详细演示了各种恢复操作的步骤,并强调了在实际应用中需要注意的事项。 这让我意识到,数据库的稳定运行和数据的安全至关重要。通过学习这些内容,我不再对数据库的管理感到束手无策,而是能够自信地进行日常的维护工作,并且能够为可能出现的意外情况做好准备。书中关于数据库安全性的章节也给了我很大的启发,它让我认识到了数据库安全的重要性,并学会了如何采取有效的措施来保护数据库免受攻击。这种知识的传授,不仅仅是技术层面的,更是意识层面的提升,让我从一个被动的学习者,转变为一个主动的管理者。

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有