 
			 
				目 录
D1章 认识MySQL 5.7 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数据库 5
1.3.1 客户机-服务器软件 6
1.3.2 MySQL的版本 6
1.3.3 MySQL的优势 7
1.4 MySQL 5.7的新功能 8
1.5 学习MySQL的诀窍 8
D2章 MySQL的安装与配置 10
2.1 在Windows平台下安装与配置MySQL 5.7 10
2.1.1 安装MySQL 5.7 10
2.1.2 配置MySQL 5.7 15
2.2 启动服务并登录MySQL数据库 19
2.2.1 启动MySQL服务 20
2.2.2 登录MySQL数据库 21
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包 29
2.4.3 安装和配置MySQL的源码包 33
2.5 疑难解惑 34
2.6 上机练练手 34
D3章 数据库的基本操作 35
3.1 创建数据库 35
3.2 删除数据库 37
3.3 理解数据库存储引擎 37
3.3.1 MySQL存储引擎简介 37
3.3.2 InDDB存储引擎 39
3.3.3 MyISAM存储引擎 40
3.3.4 MEMORY存储引擎 41
3.3.5 存储引擎的选择 41
3.4 实战演练——数据库的创建和删除 42
3.5 疑难解惑 44
3.6 上机练练手 44
D4章 数据表的基本操作 45
4.1 创建数据表 45
4.1.1 创建表的语法形式 45
4.1.2 使用主键约束 47
4.1.3 使用外键约束 48
4.1.4 使用非空约束 49
4.1.5 使用W一性约束 50
4.1.6 使用默认约束 50
4.1.7 设置表的属性值自动增加 51
4.2 查看数据表结构 52
4.2.1 查看表基本结构语句DESCRIBE 52
4.2.2 查看表详细结构语句SHOW CREATE TABLE 53
4.3 修改数据表 54
4.3.1 修改表名 55
4.3.2 修改字段的数据类型 55
4.3.3 修改字段名 56
4.3.4 添加字段 57
4.3.5 删除字段 60
4.3.6 修改字段的排列位置 61
4.3.7 更改表的存储引擎 62
4.3.8 删除表的外键约束 63
4.4 删除数据表 64
4.4.1 删除没有被关联的表 65
4.4.2 删除被其他表关联的主表 65
4.5 实战演练——数据表的基本操作 67
4.6 疑难解惑 75
4.7 上机练练手 76
D5章 数据类型和运算符 77
5.1 MySQL数据类型介绍 77
5.1.1 整数类型 77
5.1.2 浮点数类型和定点数类型 79
5.1.3 日期与时间类型 81
5.1.4 文本字符串类型 93
5.1.5 二进制字符串类型 98
5.2 如何选择数据类型 101
5.3 常见运算符介绍 102
5.3.1 运算符概述 103
5.3.2 算术运算符 103
5.3.3 比较运算符 105
5.3.4 逻辑运算符 113
5.3.5 位运算符 116
5.3.6 运算符的优先级 119
5.4 实战演练——运算符的使用 119
5.5 疑难解惑 122
5.6 上机练练手 123
D6章 MySQL函数 124
6.1 MySQL函数简介 124
6.2 数学函数 125
6.2.1 JD值函数ABS(x)和返回圆周率的函数PI() 125
6.2.2 平方根函数SQRT(x)和求余函数MOD(x,y) 125
6.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 126
6.2.4 获取随机数的函数RAND()和RAND(x) 127
6.2.5 函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 127
6.2.6 符号函数SIGN(x) 129
6.2.7 幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 129
6.2.8 对数运算函数LOG(x)和LOG10(x) 130
6.2.9 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 130
6.2.10 正弦函数SIN(x)和反正弦函数ASIN(x) 131
6.2.11 余弦函数COS(x)和反余弦函数ACOS(x) 132
6.2.12 正切函数、反正切函数和余切函数 132
6.3 字符串函数 133
6.3.1 计算字符串字符数和字符串长度的函数 133
6.3.2 合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 134
6.3.3 替换字符串的函数INSERT(s1,x,len,s2) 135
6.3.4 字母大小写转换函数 136
6.3.5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 136
6.3.6 填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 137
6.3.7 删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 138
6.3.8 删除指定字符串的函数TRIM(s1 FROM s) 139
6.3.9 重复生成字符串的函数REPEAT(s,n) 139
6.3.10 空格函数SPACE(n)和替换函数REPLACE(s,s1,s2) 140
6.3.11 比较字符串大小的函数STRCMP(s1,s2) 140
6.3.12 获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len) 141
6.3.13 匹配子串开始位置的函数 142
6.3.14 字符串逆序的函数REVERSE(s) 142
6.3.15 返回指定位置的字符串的函数 142
6.3.16 返回指定字符串位置的函数FIELD(s,s1,s2,…) 143
6.3.17 返回子串位置的函数FIND_IN_SET(s1,s2) 143
6.3.18 选取字符串的函数MAKE_SET(x,s1,s2,…) 144
6.4 日期和时间函数 144
6.4.1 获取D前日期的函数和获取D前时间的函数 144
6.4.2 获取D前日期和时间的函数 145
6.4.3 UNIX时间戳函数 146
6.4.4 返回UTC日期的函数和返回UTC时间的函数 146
6.4.5 获取月份的函数MONTH(date)和MONTHNAME(date) 147
6.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d) 和WEEKDAY(d) 148
6.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d) 149
6.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d) 150
6.4.9 获取年份、季度、小时、分钟和秒钟的函数 150
6.4.10 获取日期的指定值的函数EXTRACT(type FROM date) 152
6.4.11 时间和秒钟转换的函数 152
6.4.12 计算日期和时间的函数 153
6.4.13 将日期和时间格式化的函数 156
6.5 条件判断函数 159
6.5.1 IF(expr,v1,v2)函数 159
6.5.2 IFNULL(v1,v2)函数 159
6.5.3 CASE函数 160
6.6 系统信息函数 161
6.6.1 获取MySQL版本号、连接数和数据库名的函数 161
6.6.2 获取用户名的函数 163
6.6.3 获取字符串的字符集和排序方式的函数 163
6.6.4 获取Z后一个自动生成的ID值的函数 164
6.7 加密函数 166
6.7.1 加密函数PASSWORD(str) 166
6.7.2 加密函数MD5(str) 167
6.7.3 加密函数ENCODE(str,pswd_str) 167
6.7.4 解密函数DECODE(crypt_str,pswd_str) 167
6.8 其他函数 168
6.8.1 格式化函数FORMAT(x,n) 168
6.8.2 不同进制的数字进行转换的函数 168
6.8.3 IP地址与数字相互转换的函数 169
6.8.4 加锁函数和解锁函数 170
6.8.5 重复执行指定操作的函数 171
6.8.6 改变字符集的函数 171
6.8.7 改变数据类型的函数 172
6.9 实战演练——MySQL函数的使用 172
6.10 疑难解惑 176
6.11 上机练练手 176
D7章 查询数据 178
7.1 基本查询语句 178
7.2 单表查询 180
7.2.1 查询所有字段 181
7.2.2 查询指定字段 182
7.2.3 查询指定记录 184
7.2.4 带IN关键字的查询 185
7.2.5 带BETWEEN AND的范围查询 187
7.2.6 带LIKE的字符匹配查询 188
7.2.7 查询空值 190
7.2.8 带AND的多条件查询 191
7.2.9 带OR的多条件查询 192
7.2.10 查询结果不重复 193
7.2.11 对查询结果排序 195
7.2.12 分组查询 198
7.2.13 使用LIMIT限制查询结果的数量 203
7.3 使用集合函数查询 205
7.3.1 COUNT()函数 205
7.3.2 SUM()函数 206
7.3.3 AVG()函数 207
7.3.4 MAX()函数 208
7.3.5 MIN()函数 209
7.4 连接查询 210
7.4.1 内连接查询 211
7.4.2 外连接查询 214
7.4.3 复合条件连接查询 216
7.5 子查询 217
7.5.1 带ANY、SOME关键字的子查询 217
7.5.2 带ALL关键字的子查询 218
7.5.3 带EXISTS关键字的子查询 218
7.5.4 带IN关键字的子查询 220
7.5.5 带比较运算符的子查询 222
7.6 合并查询结果 223
7.7 为表和字段取别名 226
7.7.1 为表取别名 226
7.7.2 为字段取别名 227
7.8 使用正则表达式查询 229
7.8.1 查询以特定字符或字符串开头的记录 230
7.8.2 查询以特定字符或字符串结尾的记录 231
7.8.3 用符号"."来替代字符串中的任意一个字符 231
7.8.4 使用"*"和" "来匹配多个字符 232
7.8.5 匹配指定字符串 232
7.8.6 匹配指定字符中的任意一个 233
7.8.7 匹配指定字符以外的字符 234
7.8.8 使用{n,}或者{n,m}来指定字符串连续出现的次数 235
7.9 实战演练——数据表查询操作 236
7.10 疑难解惑 244
7.11 上机练练手 245
D8章 插入、更新与删除数据 246
8.1 插入数据 246
8.1.1 为表的所有字段插入数据 246
8.1.2 为表的指定字段插入数据 248
8.1.3 同时插入多条记录 250
8.1.4 将查询结果插入到表中 252
8.2 更新数据 253
8.3 删除数据 255
8.4 实战演练——记录的插入、更新和删除 257
8.5 疑难解惑 262
8.6 上机练练手 263
D9章 索引 264
9.1 索引简介 264
9.1.1 索引的含义和特点 264
9.1.2 索引的分类 265
9.1.3 索引的设计原则 266
9.2 创建索引 266
9.2.1 创建表的时候创建索引 266
9.2.2 在已经存在的表上创建索引 272
9.3 删除索引 279
9.4 实战演练——创建索引 281
9.5 疑难解惑 284
9.6 上机练练手 284
D10章 存储过程和函数 285
10.1 创建存储过程和函数 285
10.1.1 创建存储过程 286
10.1.2 创建存储函数 288
10.1.3 变量的使用 289
10.1.4 定义条件和处理程序 290
10.1.5 光标的使用 293
10.1.6 流程控制的使用 294
10.2 调用存储过程和函数 299
10.2.1 调用存储过程 299
10.2.2 调用存储函数 300
10.3 查看存储过程和函数 300
10.3.1 使用SHOW STATUS语句查看存储过程和函数的状态 301
10.3.2 使用SHOW CREATE语句查看存储过程和函数的定义 301
10.3.3 从information_schema.Routines表中查看存储过程和函数的信息 302
10.4 修改存储过程和函数 303
10.5 删除存储过程和函数 305
10.6 实战演练——创建存储过程和函数 306
10.7 疑难解惑 309
10.8 上机练练手 310
D11章 视图 311
11.1 视图概述 311
11.1.1 视图的含义 311
11.1.2 视图的作用 312
11.2 创建视图 313
11.2.1 创建视图的语法形式 313
11.2.2 在单表上创建视图 314
11.2.3 在多表上创建视图 315
11.3 查看视图 316
11.3.1 使用DESCRIBE语句查看视图基本信息 316
11.3.2 使用SHOW TABLE STATUS语句查看视图基本信息 316
11.3.3 使用SHOW CREATE VIEW语句查看视图详细信息 318
11.3.4 在views表中查看视图详细信息 318
11.4 修改视图 320
11.4.1 使用CREATE OR REPLACE VIEW语句修改视图 320
11.4.2 使用ALTER语句修改视图 321
11.5 更新视图 322
11.6 删除视图 324
11.7 实战演练——视图应用 325
11.8 疑难解惑 333
11.9 上机练练手 334
D12章 MySQL触发器 335
12.1 创建触发器 335
12.1.1 创建只有一个执行语句的触发器 336
12.1.2 创建有多个执行语句的触发器 337
12.2 查看触发器 339
12.2.1 SHOW TRIGGERS语句查看触发器信息 339
12.2.2 在triggers表中查看触发器信息 341
12.3 使用触发器 343
12.4 删除触发器 343
12.5 实战演练——触发器的使用 344
12.6 疑难解惑 346
12.7 上机练练手 346
D13章 MySQL用户管理 347
13.1 权 限 表 347
13.1.1 user表 347
13.1.2 db表和host表 350
13.1.3 tables_priv表和columns_priv表 351
13.1.4 procs_priv表 352
13.2 账户管理 353
13.2.1 登录和退出MySQL服务器 353
13.2.2 新建普通用户 355
13.2.3 删除普通用户 359
13.2.4 root用户修改自己的密码 360
13.2.5 root用户修改普通用户密码 361
13.2.6 普通用户修改密码 363
13.2.7 root用户密码丢失的解决办法 363
13.3 权限管理 365
13.3.1 MySQL的各种权限 365
13.3.2 授权 367
13.3.3 收回权限 369
13.3.4 查看权限 370
13.4 访问控制 371
13.4.1 连接核实阶段 371
13.4.2 请求核实阶段 371
13.5 实战演练——综合管理用户权限 372
13.6 疑难解惑 376
13.7 上机练练手 377
D14章 数据备份与恢复 378
14.1 数据备份 378
14.1.1 使用mysqldump命令备份 378
14.1.2 直接复制整个数据库目录 385
14.1.3 使用mysqlhotcopy工具快速备份 385
14.2 数据恢复 386
14.2.1 使用MySQL命令恢复 386
14.2.2 直接复制到数据库目录 387
14.2.3 mysqlhotcopy快速恢复 387
14.3 数据库迁移 388
14.3.1 相同版本的MySQL数据库之间的迁移 388
14.3.2 不同版本的MySQL数据库之间的迁移 388
14.3.3 不同数据库之间的迁移 389
14.4 表的导出和导入 389
14.4.1 使用SELECT…INTO OUTFILE导出文本文件 389
14.4.2 使用mysqldump命令导出文本文件 392
14.4.3 使用MySQL命令导出文本文件 395
14.4.4 使用LOAD DATA INFILE方式导入文本文件 398
14.4.5 使用mysqlimport命令导入文本文件 400
14.5 实战演练——数据的备份与恢复 402
14.6 疑难解惑 407
14.7 上机练练手 408
D15章 MySQL日志 409
15.1 日志简介 409
15.2 二进制日志 410
15.2.1 启动和设置二进制日志 410
15.2.2 查看二进制日志 411
15.2.3 删除二进制日志 413
15.2.4 使用二进制日志恢复数据库 415
15.2.5 暂时停止二进制日志功能 416
15.3 错误日志 416
15.3.1 启动和设置错误日志 416
15.3.2 查看错误日志 417
15.3.3 删除错误日志 418
15.4 通用查询日志 418
15.4.1 启动和设置通用查询日志 418
15.4.2 查看通用查询日志 418
15.4.3 删除通用查询日志 419
15.5 慢查询日志 420
15.5.1 启动和设置慢查询日志 420
15.5.2 查看慢查询日志 420
15.5.3 删除慢查询日志 421
15.6 实战演练——MySQL日志的综合管理 421
15.7 疑难解惑 427
15.8 上机练练手 428
D16章 性能优化 429
16.1 优化简介 429
16.2 优化查询 430
16.2.1 分析查询语句 430
16.2.2 索引对查询速度的影响 433
16.2.3 使用索引查询 434
16.2.4 优化子查询 437
16.3 优化数据库结构 438
16.3.1 将字段很多的表分解成多个表 438
16.3.2 增加中间表 439
16.3.3 增加冗余字段 441
16.3.4 优化插入记录的速度 441
16.3.5 分析表、检查表和优化表 443
16.4 优化MySQL服务器 445
16.4.1 优化服务器硬件 445
16.4.2 优化MySQL的参数 446
16.5 实战演练——全面优化MySQL服务器 447
16.6 疑难解惑 449
16.7 上机练练手 450
D17章 设计新闻发布系统的数据库 451
17.1 系统概述 451
17.2 系统功能 452
17.3 数据库设计和实现 453
17.3.1 设计表 453
17.3.2 设计索引 457
17.3.3 设计视图 458
17.3.4 设计触发器 459
17.4 案例总结 460
显示全部信息作为一个对技术充满好奇但又缺乏系统性学习方法的人,我一直在寻找一本能够引导我真正掌握MySQL 5.7的书籍。偶然间发现了《MySQL 5.7从零开始学(视频教学版)》,这本书带给我的是一种前所未有的学习体验。它不同于其他许多只关注技术细节的书籍,这本书更注重培养读者的逻辑思维和解决问题的能力。从数据库的基本原理到高级特性,这本书都进行了深入浅出的讲解,并且配备了非常实用的视频教程。视频中的老师不仅讲解清晰,而且节奏恰到好处,让我能够跟得上他的思路。我特别喜欢书中对每一个知识点的循序渐进的讲解方式,从最简单的概念入手,逐步过渡到复杂的应用场景。它让我明白了,学习数据库并非易事,但有了正确的指引,一切都会变得豁然开朗。这本书让我学会了如何更有效地设计数据库,如何编写出更具可读性和性能的SQL语句,以及如何去排查和解决数据库相关的常见问题。总而言之,这是一本极具价值的书籍,它不仅教授了技术,更重要的是传授了学习的方法和解决问题的思路,让我受益匪浅。
评分这本书简直是为我量身定做的!作为一名完全的数据库小白,我对MySQL 5.7的了解仅限于“听说过”这个层面。在网上搜集资料时,看到这本书的宣传语“从零开始学”,我当时就眼前一亮,立刻下单了。拿到书后,里面的内容排版非常清晰,图片和代码示例也都标注得很仔细。尤其是跟着视频一步步操作,那种跟老师一起敲代码的感觉,真的比自己死记硬背要轻松太多了。从安装环境到创建第一个数据库,再到学习基本的SQL语句,每一个步骤都讲解得非常到位,而且还会穿插一些实际应用场景的分析,让我明白这些命令到底有什么用,而不是死记硬背。我特别喜欢它对各种概念的解释,比如索引、事务、视图等等,都用了非常通俗易懂的比喻,让我这种非技术背景的人也能迅速理解。学完基础部分,我感觉自己已经可以上手做一些简单的数据库操作了,这在以前是不可想象的。这本书的视频质量也很高,老师讲课不拖沓,重点突出,配合书本内容,学习效率非常高。总而言之,这是一本非常适合初学者的入门书籍,强烈推荐给和我一样的数据库新手!
评分我之前也尝试过学习MySQL,但总是浅尝辄止,感觉枯燥乏味,很难坚持下去。直到我遇到了《MySQL 5.7从零开始学(视频教学版)》,这次的学习体验完全颠覆了我之前的认知。这本书不仅仅是技术的堆砌,它更注重引导读者理解数据库的底层逻辑和实际应用。从基础的安装配置,到复杂的SQL查询优化,每一个章节都设计得非常合理,循序渐进。最让我惊喜的是,它提供了配套的视频教学,这极大地弥补了纯文字书籍的不足。视频中,老师会实时演示操作,讲解清晰明了,仿佛老师就在我身边手把手教学一样。对于一些容易混淆的概念,比如主键、外键、联合索引等,书中都通过生动的例子和图示进行了解释,让我茅塞顿开。而且,它还引导我去思考如何设计更优化的数据库结构,如何编写更高效的SQL语句,这些都远远超出了我最初的学习预期。这本书让我明白,学习数据库不仅仅是学习一门技术,更是一种思维方式的转变。现在,我能够自信地运用MySQL来处理我工作中的数据需求了,这都得益于这本书的系统性学习和实践指导。
评分不得不说,这本书的作者真的非常懂初学者在学习MySQL时会遇到的困难。我是一名刚步入IT行业不久的开发人员,之前的项目中使用MySQL不多,很多概念和操作都很模糊。市面上关于MySQL的书籍不少,但我总是觉得要么太理论化,要么太过于零散,很难形成完整的知识体系。而《MySQL 5.7从零开始学(视频教学版)》则很好地解决了这个问题。它从最基本的概念讲起,比如什么是数据库、什么是表、什么是字段,然后逐步深入到SQL语句的各个方面,包括增删改查、条件过滤、排序、分组聚合等等。让我眼前一亮的是,它不仅仅讲解了怎么用,还深入剖析了“为什么这么用”以及“更优的用法”。例如,在讲解索引的时候,它会从底层原理出发,让你理解为什么索引能够提高查询效率,以及如何根据实际情况选择合适的索引类型。视频教学更是锦上添花,配合书本的讲解,我感觉学习效率翻倍。老师在视频中还会演示一些常见的错误和解决方案,这对我来说是非常宝贵的经验。学完这本书,我对MySQL的理解从“会用几个简单命令”提升到了“能独立完成大部分常见的数据库开发任务”,非常有成就感。
评分说实话,在没看这本书之前,我对MySQL的理解可能还停留在“会写一些增删改查”的水平,对于性能优化、安全配置这些更深层次的东西一无所知。偶然的机会,我朋友向我推荐了《MySQL 5.7从零开始学(视频教学版)》。收到书后,我首先被它详尽的目录吸引了,几乎涵盖了MySQL 5.7的方方面面。一开始我抱着试试看的心态,跟着视频教程一步步学习。让我惊喜的是,这本书的讲解非常生动形象,不像一些技术书籍那样枯燥乏味。作者善于用生活中的例子来类比抽象的技术概念,让我这种非技术背景的读者也能轻松理解。视频中的老师讲解逻辑清晰,而且非常注重实操演示,每次学习完一个新概念,我都会跟着老师一起敲一遍代码,这样印象会更加深刻。最重要的是,这本书不仅仅教我怎么做,更会告诉我为什么这么做,以及这样做的潜在影响。例如,在讲解索引的时候,它不仅教我如何创建索引,还深入分析了不同索引类型对查询性能的影响,以及在什么情况下应该选择哪种索引。学完这本书,我感觉我对MySQL的理解上升了一个全新的高度,不仅能够熟练运用各种SQL语句,还能对数据库的性能进行初步的优化,这对于我以后的工作帮助太大了。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有