注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库MySQL 8.x从入门到精通(视频教学版)

MySQL 8.x从入门到精通(视频教学版)

MySQL 8.x从入门到精通(视频教学版)

定 价:¥129.00

作 者: 李小威
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302612858 出版时间: 2022-08-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  MySQL是比较受欢迎的开源关系型数据库之一。本书通过大量实用的操作案例,详细讲解MySQL 8.x数据库操作方法和技巧。本书配套资源提供了所有例子的源代码、PPT课件、培训班形式的同步教学视频、命令速查手册、QQ群与微信群答疑,以方便读者参考和自学。本书共分25章。主要内容包括MySQL 8.x的安装与配置、数据库和数据表基本操作、数据类型和运算符、MySQL函数、数据的增删改查、索引的设计和使用、存储过程和函数、视图、触发器、存储引擎的选择、分区和事务控制、性能优化、锁定机制、服务器性能优化、性能监控、数据备份与还原、日志、权限与安全管理、高可用架构、复制、MySQL Utilities、MySQL Proxy。最后通过两个案例系统的数据库设计,进一步讲解MySQL在系统开发中的应用。本书注重实战操作,帮助读者循序渐进地掌握MySQL的各项管理与开发技术。本书适合MySQL数据库初学者、MySQL数据库开发人员和MySQL数据库管理员,同时也能作为高等院校相关专业师生的教学用书。

作者简介

  李小威,软件开发经理,在软件开发领域有多年的开发经验,尤其擅长Java、PHP、关系数据库、Web前端等技术,具有很强的实战经验。著有多本畅销书《Vue.js 3.x高效前端开发(视频教学版)》《Vue.js 3.0从入门到精通(视频教学版)》《SQL Server 2017从零开始学(视频教学版)》《SQL基础教程(视频教学版)》《PostgreSQL 11从入门到精通(视频教学版)》《MySQL 5.7从零开始学(视频教学版)》等。

图书目录

第1章  MySQL的安装与配置 1
1.1  什么是MySQL 1
1.1.1  客户端/服务器软件 1
1.1.2  MySQL版本 2
1.2  Windows平台下安装与配置MySQL 8.0 2
1.2.1  安装MySQL 8.0 2
1.2.2  配置MySQL 8.0 5
1.3  启动服务并登录MySQL数据库 9
1.3.1  启动MySQL服务 9
1.3.2  登录MySQL数据库 10
1.3.3  配置Path变量 11
1.4  MySQL常用图形管理工具 13
1.5  Linux平台下安装与配置MySQL 8.0 14
1.5.1  Linux操作系统下的MySQL版本介绍 14
1.5.2  安装和配置MySQL的RPM包 15
1.5.3  安装和配置MySQL的源码包 18
第2章  数据库和数据表的基本操作 19
2.1  创建数据库 19
2.2  删除数据库 20
2.3  创建数据表 21
2.3.1  创建表的语法形式 21
2.3.2  使用主键约束 22
2.3.3  使用外键约束 23
2.3.4  使用非空约束 24
2.3.5  使用唯一性约束 25
2.3.6  使用默认约束 25
2.3.7  设置表的属性值自动增加 26
2.4  查看数据表结构 27
2.4.1  查看表基本结构语句DESCRIBE 27
2.4.2  查看表详细结构语句SHOW CREATE TABLE 28
2.5  修改数据表 28
2.5.1  修改表名 29
2.5.2  修改字段的数据类型 29
2.5.3  修改字段名 30
2.5.4  添加字段 31
2.5.5  删除字段 33
2.5.6  修改字段的排列位置 34
2.5.7  删除表的外键约束 35
2.6  删除数据表 36
2.6.1  删除没有被关联的表 36
2.6.2  删除被其他表关联的主表 37
第3章  数据类型和运算符 39
3.1  MySQL数据类型介绍 39
3.1.1  整数类型 39
3.1.2  小数类型 41
3.1.3  日期与时间类型 42
3.1.4  文本字符串类型 52
3.1.5  二进制字符串类型 56
3.2  如何选择数据类型 59
3.3  常见运算符介绍 60
3.3.1  运算符概述 60
3.3.2  算术运算符 61
3.3.3  比较运算符 62
3.3.4  逻辑运算符 69
3.3.5  位运算符 71
3.3.6  运算符的优先级 74
第4章  MySQL函数 75
4.1  MySQL函数简介 75
4.2  数学函数 75
4.2.1  绝对值函数ABS(x)和返回圆周率的函数PI() 75
4.2.2  平方根函数SQRT(x)和求余函数MOD(x,y) 76
4.2.3  获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 76
4.2.4  获取随机数的函数RAND()和RAND(x) 77
4.2.5  函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 78
4.2.6  符号函数SIGN(x) 79
4.2.7  幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 79
4.2.8  对数运算函数LOG(x)和LOG10(x) 79
4.2.9  角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 80
4.2.10  正弦函数SIN(x)和反正弦函数ASIN(x) 80
4.2.11  余弦函数COS(x)和反余弦函数ACOS(x) 81
4.2.12  正切函数、反正切函数和余切函数 81
4.3  字符串函数 82
4.3.1  计算字符串字符数的函数和字符串长度的函数 82
4.3.2  合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 83
4.3.3  替换字符串的函数INSERT(s1,x,len,s2) 83
4.3.4  字母大小写转换函数 84
4.3.5  获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 85
4.3.6  填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 85
4.3.7  删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 86
4.3.8  删除指定字符串的函数TRIM(s1 FROM s) 86
4.3.9  重复生成字符串的函数REPEAT(s,n) 87
4.3.10  空格函数SPACE(n)和替换函数REPLACE(s,s1,s2) 87
4.3.11  比较字符串大小的函数STRCMP(s1,s2) 88
4.3.12  获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len) 88
4.3.13  匹配子串开始位置的函数 89
4.3.14  字符串逆序的函数REVERSE(s) 89
4.3.15  返回指定位置的字符串的函数 89
4.3.16  返回指定字符串位置的函数FIELD(s,s1,s2,…,sn) 90
4.3.17  返回子串位置的函数FIND_IN_SET(s1,s2) 90
4.3.18  选取字符串的函数MAKE_SET(x,s1,s2,…,sn) 90
4.4  日期和时间函数 91
4.4.1  获取当前日期的函数和获取当前时间的函数 91
4.4.2  获取当前日期和时间的函数 92
4.4.3  UNIX时间戳函数 92
4.4.4  返回UTC日期的函数和返回UTC时间的函数 92
4.4.5  获取月份的函数MONTH(date)和MONTHNAME(date) 93
4.4.6  获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 93
4.4.7  获取星期数的函数WEEK(d)和WEEKOFYEAR(d) 94
4.4.8  获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d) 95
4.4.9  获取年份、季度、小时、分钟和秒钟的函数 96
4.4.10  获取日期的指定值的函数EXTRACT(type FROM date) 96
4.4.11  时间和秒钟转换的函数 97
4.4.12  计算日期和时间的函数 97
4.4.13  将日期和时间格式化的函数 100
4.5  条件判断函数 102
4.5.1  IF(expr,v1,v2)函数 102
4.5.2  IFNULL(v1,v2)函数 103
4.5.3  CASE函数 103
4.6  系统信息函数 104
4.6.1  获取MySQL版本号、连接数和数据库名的函数 104
4.6.2  获取用户名的函数 106
4.6.3  获取字符串的字符集和排序方式的函数 106
4.6.4  获取最后一个自动生成的ID值的函数 107
4.7  加密函数 108
4.7.1  加密函数MD5(str) 108
4.7.2  加密函数SHA(str) 108
4.7.3  加密函数SHA2(str, hash_length) 109
4.8  其他函数 109
4.8.1  格式化函数FORMAT(x,n) 109
4.8.2  不同进制的数字进行转换的函数 109
4.8.3  IP地址与数字相互转换的函数 110
4.8.4  加锁函数和解锁函数 111
4.8.5  重复执行指定操作的函数 111
4.8.6  改变字符集的函数 112
4.8.7  改变数据类型的函数 112
4.9  窗口函数 113
第5章  查询数据 115
5.1  基本查询语句 115
5.2  单表查询 117
5.2.1  查询所有字段 117
5.2.2  查询指定字段 118
5.2.3  查询指定记录 120
5.2.4  带IN关键字的查询 121
5.2.5  带BETWEEN…AND…的范围查询 122
5.2.6  带LIKE的字符匹配查询 123
5.2.7  查询空值 124
5.2.8  带AND的多条件查询 126
5.2.9  带OR的多条件查询 126
5.2.10  查询结果不重复 127
5.2.11  对查询结果排序 128
5.2.12  分组查询 131
5.2.13  使用LIMIT限制查询结果的数量 136
5.3  使用集合函数查询 137
5.3.1  COUNT()函数 137
5.3.2  SUM()函数 138
5.3.3  AVG()函数 139
5.3.4  MAX()函数 140
5.3.5  MIN()函数 141
5.4  连接查询 141
5.4.1  内连接查询 142
5.4.2  外连接查询 144
5.4.3  复合条件连接查询 146
5.5  子查询 147
5.5.1  带ANY、SOME关键字的子查询 147
5.5.2  带ALL关键字的子查询 147
5.5.3  带EXISTS关键字的子查询 148
5.5.4  带IN关键字的子查询 149
5.5.5  带比较运算符的子查询 151
5.6  合并查询结果 152
5.7  为表和字段取别名 154
5.7.1  为表取别名 154
5.7.2  为字段取别名 155
5.8  使用正则表达式查询 157
5.8.1  查询以特定字符或字符串开头的记录 157
5.8.2  查询以特定字符或字符串结尾的记录 158
5.8.3  用符号“.”来替代字符串中的任意一个字符 158
5.8.4  使用“*”和“ ”来匹配多个字符 159
5.8.5  匹配指定字符串 159
5.8.6  匹配指定字符中的任意一个 160
5.8.7  匹配指定字符以外的字符 161
5.8.8  使用{n,}或者{n,m}来指定字符串连续出现的次数 162
5.9  通用表表达式 162
 
第6章  插入、更新与删除数据 166
6.1  插入数据 166
6.1.1  为表的所有字段插入数据 166
6.1.2  为表的指定字段插入数据 168
6.1.3  同时插入多条记录 169
6.1.4  将查询结果插入到表中 170
6.2  更新数据 172
6.3  删除数据 173
6.4  为表增加计算列 175
6.5  DDL的原子化 176
第7章  索引的设计和使用 178
7.1  索引简介 178
7.1.1  索引的含义和特点 178
7.1.2  索引的分类 179
7.1.3  索引的设计原则 180
7.2  创建索引 180
7.2.1  创建表的时候创建索引 180
7.2.2  在已经存在的表上创建索引 185
7.3  删除索引 191
7.4  统计直方图 193
7.4.1  直方图的优点 193
7.4.2  直方图的基本操作 193
第8章  存储过程和函数 195
8.1  创建存储过程和函数 195
8.1.1  创建存储过程 195
8.1.2  创建存储函数 197
8.1.3  变量的使用 198
8.1.4  定义条件和处理程序 199
8.1.5  光标的使用 202
8.1.6  流程控制的使用 203
8.2  调用存储过程和函数 207
8.2.1  调用存储过程 207
8.2.2  调用存储函数 208
8.3  查看存储过程和函数 208
8.3.1  使用SHOW STATUS语句查看存储过程和函数的状态 208
8.3.2  使用SHOW CREATE语句查看存储过程和函数的定义 209
8.3.3  从information_schema.Routines表中查看存储过程和函数的信息 210
8.4  修改存储过程和函数 211
8.5  删除存储过程和函数 212
8.6  全局变量的持久化 213
第9章  视图 214
9.1  视图概述 214
9.1.1  视图的含义 214
9.1.2  视图的作用 215
9.2  创建视图 215
9.2.1  创建视图的语法形式 216
9.2.2  在单表上创建视图 216
9.2.3  在多表上创建视图 217
9.3  查看视图 218
9.3.1  使用DESCRIBE语句查看视图基本信息 218
9.3.2  使用SHOW TABLE STATUS语句查看视图基本信息 218
9.3.3  使用SHOW CREATE VIEW语句查看视图详细信息 219
9.3.4  在views表中查看视图详细信息 220
9.4  修改视图 221
9.4.1  使用CREATE OR REPLACE VIEW语句修改视图 221
9.4.2  使用ALTER语句修改视图 222
9.5  更新视图 222
9.6  删除视图 225
第10章  MySQL触发器 226
10.1  创建触发器 226
10.1.1  创建只有一个执行语句的触发器 226
10.1.2  创建有多个执行语句的触发器 227
10.2  查看触发器 229
10.2.1  利用SHOW TRIGGERS语句查看触发器信息 229
10.2.2  在triggers表中查看触发器信息 231
10.3  触发器的使用 232
10.4  删除触发器 233
第11章  存储引擎的选择 234
11.1  MySQL的架构 234
11.1.1  MySQL物理文件的组成 235
11.1.2  MySQL各逻辑块简介 237
11.1.3  MySQL各逻辑块协调工作 239
11.2  MySQL存储引擎简介 240
11.3  更改数据表的存储引擎 242
11.4  各种存储引擎的特性 242
11.4.1  MyISAM 243
11.4.2  InnoDB存储引擎 245
11.4.3  MEMORY 247
11.4.4  MERGE 248
11.5  选择合适的存储引擎 250
第12章  MySQL分区和事务控制 252
12.1  合并表 252
12.2  分区表 254
12.2.1  认识分区表 254
12.2.2  RANGE分区 254
12.2.3  LIST分区 256
12.2.4  HASH分区 257
12.2.5  线性HASH分区 257
12.2.6  KEY分区 258
12.2.7  复合分区 259
12.3  事务控制 261
12.4  MySQL分布式事务 264
12.4.1  分布式事务的原理 264
12.4.2  分布式事务的语法 265
第13章  MySQL性能优化 267
13.1  优化简介 267
13.2  优化查询 268
13.2.1  分析查询语句 268
13.2.2  索引对查询速度的影响 271
13.2.3  使用索引查询 272
13.2.4  优化子查询 274
13.3  优化数据库结构 274
13.3.1  将字段很多的表分解成多个表 274
13.3.2  增加中间表 276
13.3.3  增加冗余字段 277
13.3.4  优化插入记录的速度 277
13.3.5  分析表、检查表和优化表 279
13.4  临时表性能优化 281
13.5  创建全局通用表空间 282
13.6  隐藏和显示索引 283
第14章  MySQL的锁定机制 285
14.1  认识MySQL的锁定机制 285
14.2  MyISAM的锁定机制 289
14.2.1  MyISAM表级锁的锁模式 289
14.2.2  获取MyISAM表级锁的争用情况 291
14.2.3  MyISAM表级锁加锁方法 292
14.2.4  MyISAM Concurrent Insert的特性 294
14.2.5  MyISAM表锁优化建议 295
14.3  InnoDB的锁定机制 296
14.3.1  InnoDB行级锁模式 296
14.3.2  获取InnoDB行级锁的争用情况 300
14.3.3  InnoDB行级锁的实现方法 304
14.3.4  间隙锁(Net-Key锁) 307
14.3.5  InnoDB在不同隔离级别下加锁的差异 309
14.3.6  InnoDB 存储引擎中的死锁 309
14.3.7  InnoDB行级锁优化建议 311
14.4  跳过锁等待 311
第15章  MySQL服务器性能优化 313
15.1  优化MySQL服务器简介 313
15.1.1  优化服务器硬件 313
15.1.2  优化MySQL的参数 314
15.2  影响MySQL性能的重要参数 315
15.2.1  查看性能参数的方法 315
15.2.2  key_buffer_size的设置 319
15.2.3  内存参数的设置 321
15.2.4  日志和事务参数的设置 322
15.2.5  存储和I/O相关参数的设置 324
15.2.6  其他重要参数的设置 325
15.3  MySQL日志设置优化 326
15.4  MySQL I/O设置优化 328
15.5  MySQL并发设置优化 330
15.6  服务器语句超时处理 331
15.7  线程和临时表的优化 331
15.7.1  线程的优化 331
15.7.2  临时表的优化 332
15.8  增加资源组 333
第16章  MySQL性能监控 335
16.1  基本监控系统方法 335
16.1.1  ps命令 335
16.1.2  top命令 336
16.1.3  vmstat命令 338
16.1.4  mytop命令 339
16.1.5  sysstat工具 341
16.2  开源监控利器Nagios实战 345
16.2.1  安装Nagios之前的准备工作 346
16.2.2  安装Nagios主程序 347
16.2.3  整合Nagios到Apache服务 348
16.2.4  安装Nagios插件包 351
16.2.5  监控服务器的CPU、负载、磁盘I/O使用情况 352
16.2.6  配置Nagios监控MySQL服务器 356
16.3  MySQL监控利器Cacti实战 359
16.3.1  Cacti工具的安装 359
16.3.2  Cacti监控MySQL服务器 363
第17章  数据备份与恢复 368
17.1  数据备份 368
17.1.1  使用mysqldump命令备份 368
17.1.2  直接复制整个数据库目录 373
17.1.3  使用mysqlhotcopy工具快速备份 374
17.2  数据恢复 374
17.2.1  使用MySQL命令恢复 374
17.2.2  直接复制到数据库目录 375
17.2.3  mysqlhotcopy快速恢复 375
17.3  数据库迁移 376
17.3.1  相同版本的MySQL数据库之间的迁移 376
17.3.2  不同版本的MySQL数据库之间的迁移 376
17.3.3  不同数据库之间的迁移 377
17.4  表的导出和导入 377
17.4.1  使用SELECT…INTO OUTFILE导出文本文件 377
17.4.2  使用mysqldump命令导出文本文件 381
17.4.3  使用MySQL命令导出文本文件 383
17.4.4  使用LOAD DATA INFILE方式导入文本文件 386
17.4.5  使用mysqlimport命令导入文本文件 388
第18章  MySQL日志 390
18.1  日志简介 390
18.2  二进制日志 391
18.2.1  启动和设置二进制日志 391
18.2.2  查看二进制日志 392
18.2.3  删除二进制日志 393
18.2.4  使用二进制日志恢复数据库 395
18.2.5  暂时停止二进制日志功能 395
18.3  错误日志 396
18.3.1  启动和设置错误日志 396
18.3.2  查看错误日志 396
18.3.3  删除错误日志 397
18.4  通用查询日志 398
18.4.1  启动通用查询日志 398
18.4.2  查看通用查询日志 398
18.4.3  删除通用查询日志 399
18.5  慢查询日志 399
18.5.1  启动和设置慢查询日志 399
18.5.2  查看慢查询日志 400
18.5.3  删除慢查询日志 400
第19章  MySQL权限与安全管理 401
19.1  权限表 401
19.1.1  user表 401
19.1.2  db表 403
19.1.3  tables_priv表和columns_priv表 405
19.1.4  procs_priv表 405
19.2  账户管理 406
19.2.1  登录和退出MySQL服务器 406
19.2.2  新建普通用户 407
19.2.3  删除普通用户 409
19.2.4  root用户修改普通用户密码 411
19.3  权限管理 412
19.3.1  MySQL的各种权限 412
19.3.2  授权 414
19.3.3  收回权限 415
19.3.4  查看权限 416
19.4  访问控制 417
19.4.1  连接核实阶段 417
19.4.2  请求核实阶段 417
19.5  提升安全性 418
19.5.1  密码到期更换策略 418
19.5.2  安全模式安装 420
19.6  管理角色 420
第20章  MySQL高可用架构 422
20.1  MySQL高可用简介 422
20.2  MySQL主从复制架构 423
20.2.1  MySQL主从架构设计 423
20.2.2  配置环境 423
20.2.3  服务器的安装配置 424
20.2.4  LVS的安装配置 426
20.3  MySQL DRBD HA主备架构 428
20.3.1  什么是DRBD 428
20.3.2  MySQL DRBD HA架构设计 428
20.3.3  配置环境 429
20.3.4  安装配置Heartbeat 429
20.3.5  安装配置DRBD 431
20.4  LVS Keepalived MySQL单点写入主主同步架构 433
20.4.1  配置环境 434
20.4.2  LVS Keepalived的安装 438
20.4.3  LVS Keepalived的配置 439
20.4.4  Master和Backup的启动 441
20.5  MMM高可用架构 442
20.5.1  MMM高可用架构简介 442
20.5.2  配置环境 442
20.5.3  MMM的安装 445
20.5.4  Monitor服务器的配置 446
20.5.5  各个数据库服务器的配置 447
20.5.6  MMM的管理 447
第21章  MySQL复制 449
21.1  MySQL复制概述 449
21.2  Windows环境下的MySQL主从复制 450
21.2.1  复制前的准备工作 450
21.2.2  Windows环境下实现主从复制 450
21.2.3  Windows环境下主从复制测试 456
21.3  Linux环境下的MySQL复制 457
21.3.1  下载并安装MySQL 8.0 458
21.3.2  单机主从复制前的准备工作 459
21.3.3  mysqld_multi实现单机主从复制 462
21.3.4  不同服务器之间实现主从复制 468
21.3.5  MySQL主从复制启动选项 470
21.3.6  指定复制的数据库或者表 471
21.4  查看从服务器的复制进度 477
21.5  复制环境的监控和维护 478
21.5.1  了解服务器的状态 478
21.5.2  服务器复制出错的原因 479
21.6  切换主从服务器 482
21.7  多源复制的改进 485
第22章  MySQL Utilities 488
22.1  MySQL Utilities概述 488
22.2  安装与配置 488
22.2.1  下载与安装MySQL Utilities 489
22.2.2  MySQL Utilities连接数据库 490
22.3  管理与维护 491
22.3.1  使用mysqldbcompare比较数据 491
22.3.2  使用mysqldbcopy复制数据 492
22.3.3  使用mysqldbexport导出数据 492
22.3.4  使用mysqldbimport导入数据 493
22.3.5  使用mysqldiff比较对象的定义 493
 
第23章  MySQL Proxy 494
23.1  概述 494
23.2  安装与配置 495
23.2.1  下载与安装MySQL Proxy 495
23.2.2  配置MySQL Proxy参数 496
23.3  使用MySQL Proxy实现读写分离 498
第24章  新闻发布系统数据库设计 499
24.1  系统概述 499
24.2  系统功能 500
24.3  数据库设计和实现 500
24.3.1  设计表 501
24.3.2  设计索引 505
24.3.3  设计视图 506
24.3.4  设计触发器 506
第25章  论坛管理系统数据库设计 508
25.1  系统概述 508
25.2  系统功能 509
25.3  数据库设计和实现 509
25.3.1  设计方案图表 509
25.3.2  设计表 511
25.3.3  设计索引 514
25.3.4  设计视图 515
25.3.5  设计触发器 516

本目录推荐