当前位置:当前位置:主页 > 计算机电子书 > 数据库 > MySQL8 pdf电子书
MySQL8从入门到精通

MySQL8从入门到精通 PDF 影印版

  • 更新:2020-03-05
  • 大小:88592 MB M
  • 类别:MySQL8
  • 作者:王英英
  • 出版:清华大学出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

MySQL8从入门到精通》是由清华大学出版社出版的一本关于MySQL8方面的书籍,作者是王英英,主要介绍了关于MySQL8、MySQL8入门方面的知识内容,目前在MySQL8类书籍综合评分为:8.6分。

书籍介绍

源MySQL数据库发展到今天,已经具有了非常广泛的用户基础,市场证明MySQL具有性价比高、使用灵活、应用广泛和具有良好支持的特点。

MySQL 8做了大量的改进,性能比MySQL5.7快2倍!本书把MySQL 8的新

特性分散到各章,结合实例进行讲解并做提示,方便读者快速掌握MySQL数据库管理技术以及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数据库管理员阅读,同时也能作为高等院校和培训学校相关专业师生的教学用书。

目录

  • 第1章  初识MySQL 1
  • 1.1  数据库基础 1
  • 1.1.1  什么是数据库 2
  • 1.1.2  表 2
  • 1.1.3  数据类型 2
  • 1.1.4  主键 3
  • 1.2  数据库技术构成 3
  • 1.2.1  数据库系统 3
  • 1.2.2  SQL语言 4
  • 1.2.3  数据库访问接口 5
  • 1.3  什么是MySQL 5
  • 1.3.1  客户端/服务器软件 5
  • 1.3.2  MySQL版本 6
  • 1.3.3  MySQL的优势 7
  • 1.4  MySQL工具 7
  • 1.4.1  MySQL命令行实用程序 7
  • 1.4.2  MySQL Workbench 8
  • 1.5  MySQL 8.0的新特性简述 9
  • 1.6  如何学习MySQL 11
  • 第2章  MySQL的安装与配置 13
  • 2.1  Windows平台下安装与配置MySQL 8.0 13
  • 2.1.1  安装MySQL 8.0 14
  • 2.1.2  配置MySQL 8.0 17
  • 2.2  启动服务并登录MySQL数据库 22
  • 2.2.1  启动MySQL服务 22
  • 2.2.2  登录MySQL数据库 24
  • 2.2.3  配置Path变量 25
  • 2.3  MySQL常用图形管理工具 27
  • 2.4  Linux平台下安装与配置MySQL 8.0 28
  • 2.4.1  Linux操作系统下的MySQL版本介绍 28
  • 2.4.2  安装和配置MySQL的RPM包 29
  • 2.4.3  安装和配置MySQL的源码包 32
  • 2.5  专家解惑 32
  • 2.6  经典习题 33
  • 第3章  数据库的基本操作 34
  • 3.1  创建数据库 34
  • 3.2  删除数据库 36
  • 3.3  MySQL 8.0的新特性——系统表全部为InnoDB表 36
  • 3.4  综合案例——数据库的创建和删除 37
  • 3.5  专家解惑 39
  • 3.6  经典习题 39
  • 第4章  数据表的基本操作 40
  • 4.1  创建数据表 40
  • 4.1.1  创建表的语法形式 41
  • 4.1.2  使用主键约束 42
  • 4.1.3  使用外键约束 43
  • 4.1.4  使用非空约束 44
  • 4.1.5  使用唯一性约束 45
  • 4.1.6  使用默认约束 46
  • 4.1.7  设置表的属性值自动增加 46
  • 4.2  查看数据表结构 47
  • 4.2.1  查看表基本结构语句DESCRIBE 47
  • 4.2.2  查看表详细结构语句SHOW CREATE TABLE 48
  • 4.3  修改数据表 49
  • 4.3.1  修改表名 49
  • 4.3.2  修改字段的数据类型 50
  • 4.3.3  修改字段名 51
  • 4.3.4  添加字段 52
  • 4.3.5  删除字段 54
  • 4.3.6  修改字段的排列位置 55
  • 4.3.7  更改表的存储引擎 56
  • 4.3.8  删除表的外键约束 57
  • 4.4  删除数据表 58
  • 4.4.1  删除没有被关联的表 59
  • 4.4.2  删除被其他表关联的主表 59
  • 4.5  MySQL 8.0的新特性1——默认字符集改为utf8mb4 61
  • 4.6  MySQL 8.0的新特性2——自增变量的持久化 62
  • 4.7  综合案例——数据表的基本操作 64
  • 4.8  专家解惑 72
  • 4.9  经典习题 72
  • 第5章  数据类型和运算符 74
  • 5.1  MySQL数据类型介绍 74
  • 5.1.1  整数类型 75
  • 5.1.2  浮点数类型和定点数类型 76
  • 5.1.3  日期与时间类型 78
  • 5.1.4  文本字符串类型 89
  • 5.1.5  二进制字符串类型 94
  • 5.2  如何选择数据类型 96
  • 5.3  常见运算符介绍 98
  • 5.3.1  运算符概述 98
  • 5.3.2  算术运算符 98
  • 5.3.3  比较运算符 100
  • 5.3.4  逻辑运算符 107
  • 5.3.5  位运算符 110
  • 5.3.6  运算符的优先级 112
  • 5.4  综合案例——运算符的使用 113
  • 5.5  专家解惑 115
  • 5.6  经典习题 116
  • 第6章  MySQL函数 117
  • 6.1  MySQL函数简介 117
  • 6.2  数学函数 118
  • 6.2.1  绝对值函数ABS(x)和返回圆周率的函数PI() 118
  • 6.2.2  平方根函数SQRT(x)和求余函数MOD(x,y) 118
  • 6.2.3  获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 119
  • 6.2.4  获取随机数的函数RAND()和RAND(x) 120
  • 6.2.5  函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 120
  • 6.2.6  符号函数SIGN(x) 121
  • 6.2.7  幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 122
  • 6.2.8  对数运算函数LOG(x)和LOG10(x) 122
  • 6.2.9  角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 123
  • 6.2.10  正弦函数SIN(x)和反正弦函数ASIN(x) 123
  • 6.2.11  余弦函数COS(x)和反余弦函数ACOS(x) 124
  • 6.2.12  正切函数、反正切函数和余切函数 124
  • 6.3  字符串函数 125
  • 6.3.1  计算字符串字符数的函数和字符串长度的函数 125
  • 6.3.2  合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 126
  • 6.3.3  替换字符串的函数INSERT(s1,x,len,s2) 126
  • 6.3.4  字母大小写转换函数 127
  • 6.3.5  获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 128
  • 6.3.6  填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 128
  • 6.3.7  删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 129
  • 6.3.8  删除指定字符串的函数TRIM(s1 FROM s) 130
  • 6.3.9  重复生成字符串的函数REPEAT(s,n) 130
  • 6.3.10  空格函数SPACE(n)和替换函数REPLACE(s,s1,s2) 130
  • 6.3.11  比较字符串大小的函数STRCMP(s1,s2) 131
  • 6.3.12  获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len) 131
  • 6.3.13  匹配子串开始位置的函数 132
  • 6.3.14  字符串逆序的函数REVERSE(s) 133
  • 6.3.15  返回指定位置的字符串的函数 133
  • 6.3.16  返回指定字符串位置的函数FIELD(s,s1,s2,…,sn) 133
  • 6.3.17  返回子串位置的函数FIND_IN_SET(s1,s2) 134
  • 6.3.18  选取字符串的函数MAKE_SET(x,s1,s2,…,sn) 134
  • 6.4  日期和时间函数 135
  • 6.4.1  获取当前日期的函数和获取当前时间的函数 135
  • 6.4.2  获取当前日期和时间的函数 135
  • 6.4.3  UNIX时间戳函数 136
  • 6.4.4  返回UTC日期的函数和返回UTC时间的函数 137
  • 6.4.5  获取月份的函数MONTH(date)和MONTHNAME(date) 137
  • 6.4.6  获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 138
  • 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  条件判断函数 147
  • 6.5.1  IF(expr,v1,v2)函数 147
  • 6.5.2  IFNULL(v1,v2)函数 148
  • 6.5.3  CASE函数 148
  • 6.6  系统信息函数 149
  • 6.6.1  获取MySQL版本号、连接数和数据库名的函数 149
  • 6.6.2  获取用户名的函数 151
  • 6.6.3  获取字符串的字符集和排序方式的函数 151
  • 6.6.4  获取最后一个自动生成的ID值的函数 152
  • 6.7  MySQL 8.0的新特性1——加密函数 154
  • 6.7.1  加密函数MD5(str) 154
  • 6.7.2  加密函数SHA(str) 154
  • 6.7.3  加密函数SHA2(str, hash_length) 154
  • 6.8  其他函数 155
  • 6.8.1  格式化函数FORMAT(x,n) 155
  • 6.8.2  不同进制的数字进行转换的函数 155
  • 6.8.3  IP地址与数字相互转换的函数 156
  • 6.8.4  加锁函数和解锁函数 156
  • 6.8.5  重复执行指定操作的函数 157
  • 6.8.6  改变字符集的函数 158
  • 6.8.7  改变数据类型的函数 158
  • 6.9  MySQL 8.0的新特性2——窗口函数 159
  • 6.10  综合案例——MySQL函数的使用 160
  • 6.11  专家解惑 163
  • 6.12  经典习题 164
  • 第7章  查询数据 165
  • 7.1  基本查询语句 165
  • 7.2  单表查询 168
  • 7.2.1  查询所有字段 168
  • 7.2.2  查询指定字段 169
  • 7.2.3  查询指定记录 171
  • 7.2.4  带IN关键字的查询 172
  • 7.2.5  带BETWEEN AND的范围查询 174
  • 7.2.6  带LIKE的字符匹配查询 175
  • 7.2.7  查询空值 176
  • 7.2.8  带AND的多条件查询 178
  • 7.2.9  带OR的多条件查询 179
  • 7.2.10  查询结果不重复 180
  • 7.2.11  对查询结果排序 181
  • 7.2.12  分组查询 184
  • 7.2.13  使用LIMIT限制查询结果的数量 189
  • 7.3  使用集合函数查询 190
  • 7.3.1  COUNT()函数 191
  • 7.3.2  SUM()函数 192
  • 7.3.3  AVG()函数 193
  • 7.3.4  MAX()函数 194
  • 7.3.5  MIN()函数 195
  • 7.4  连接查询 196
  • 7.4.1  内连接查询 196
  • 7.4.2  外连接查询 199
  • 7.4.3  复合条件连接查询 201
  • 7.5  子查询 202
  • 7.5.1  带ANY、SOME关键字的子查询 202
  • 7.5.2  带ALL关键字的子查询 203
  • 7.5.3  带EXISTS关键字的子查询 203
  • 7.5.4  带IN关键字的子查询 204
  • 7.5.5  带比较运算符的子查询 206
  • 7.6  合并查询结果 208
  • 7.7  为表和字段取别名 210
  • 7.7.1  为表取别名 210
  • 7.7.2  为字段取别名 212
  • 7.8  使用正则表达式查询 213
  • 7.8.1  查询以特定字符或字符串开头的记录 214
  • 7.8.2  查询以特定字符或字符串结尾的记录 215
  • 7.8.3  用符号"."来替代字符串中的任意一个字符 215
  • 7.8.4  使用"*"和" "来匹配多个字符 216
  • 7.8.5  匹配指定字符串 216
  • 7.8.6  匹配指定字符中的任意一个 217
  • 7.8.7  匹配指定字符以外的字符 218
  • 7.8.8  使用{n,}或者{n,m}来指定字符串连续出现的次数 219
  • 7.9  MySQL 8.0的新特性1—— GROUP BY不再隐式排序 220
  • 7.10  MySQL 8.0的新特性2——通用表表达式 222
  • 7.11  综合案例——数据表查询操作 225
  • 7.12  专家解惑 232
  • 7.13  经典习题 233
  • 第8章  插入、更新与删除数据 234
  • 8.1  插入数据 234
  • 8.1.1  为表的所有字段插入数据 235
  • 8.1.2  为表的指定字段插入数据 236
  • 8.1.3  同时插入多条记录 238
  • 8.1.4  将查询结果插入到表中 239
  • 8.2  更新数据 241
  • 8.3  删除数据 243
  • 8.4  为表增加计算列 245
  • 8.5  MySQL 8.0的新特性——DDL的原子化 246
  • 8.6  综合案例——记录的插入、更新和删除 247
  • 8.7  专家解惑 251
  • 8.8  经典习题 252
  • 第9章  索  引 253
  • 9.1  索引简介 253
  • 9.1.1  索引的含义和特点 254
  • 9.1.2  索引的分类 254
  • 9.1.3  索引的设计原则 255
  • 9.2  创建索引 255
  • 9.2.1  创建表的时候创建索引 256
  • 9.2.2  在已经存在的表上创建索引 261
  • 9.3  删除索引 267
  • 9.4  MySQL 8.0的新特性1——支持降序索引 269
  • 9.5  MySQL 8.0的新特性2——统计直方图 272
  • 9.5.1  直方图的优点 272
  • 9.5.2  直方图的基本操作 273
  • 9.6  综合案例——创建索引 274
  • 9.7  专家解惑 277
  • 9.8  经典习题 277
  • 第10章  存储过程和函数 278
  • 10.1  创建存储过程和函数 279
  • 10.1.1  创建存储过程 279
  • 10.1.2  创建存储函数 281
  • 10.1.3  变量的使用 282
  • 10.1.4  定义条件和处理程序 283
  • 10.1.5  光标的使用 286
  • 10.1.6  流程控制的使用 287
  • 10.2  调用存储过程和函数 291
  • 10.2.1  调用存储过程 291
  • 10.2.2  调用存储函数 292
  • 10.3  查看存储过程和函数 293
  • 10.3.1  使用SHOW STATUS语句查看存储过程和函数的状态 293
  • 10.3.2  使用SHOW CREATE语句查看存储过程和函数的定义 294
  • 10.3.3  从information_schema.Routines表中查看存储过程和 函数的信息 295
  • 10.4  修改存储过程和函数 296
  • 10.5  删除存储过程和函数 298
  • 10.6  MySQL 8.0的新特性——全局变量的持久化 298
  • 10.7  综合案例——创建存储过程和函数 299
  • 10.8  专家解惑 302
  • 10.9  经典习题 303
  • 第11章  视  图 304
  • 11.1  视图概述 304
  • 11.1.1  视图的含义 305
  • 11.1.2  视图的作用 305
  • 11.2  创建视图 306
  • 11.2.1  创建视图的语法形式 306
  • 11.2.2  在单表上创建视图 307
  • 11.2.3  在多表上创建视图 307
  • 11.3  查看视图 308
  • 11.3.1  使用DESCRIBE语句查看视图基本信息 308
  • 11.3.2  使用SHOW TABLE STATUS语句查看视图基本信息 309
  • 11.3.3  使用SHOW CREATE VIEW语句查看视图详细信息 310
  • 11.3.4  在views表中查看视图详细信息 311
  • 11.4  修改视图 312
  • 11.4.1  使用CREATE OR REPLACE VIEW语句修改视图 312
  • 11.4.2  使用ALTER语句修改视图 313
  • 11.5  更新视图 314
  • 11.6  删除视图 316
  • 11.7  综合案例——视图应用 317
  • 11.8  专家解惑 325
  • 11.9  经典习题 326
  • 第12章  MySQL触发器 327
  • 12.1  创建触发器 327
  • 12.1.1  创建只有一个执行语句的触发器 328
  • 12.1.2  创建有多个执行语句的触发器 329
  • 12.2  查看触发器 331
  • 12.2.1  利用SHOW TRIGGERS语句查看触发器信息 331
  • 12.2.2  在triggers表中查看触发器信息 333
  • 12.3  触发器的使用 334
  • 12.4  删除触发器 335
  • 12.5  综合案例——触发器的使用 336
  • 12.6  专家解惑 338
  • 12.7  经典习题 338
  • 第13章  MySQL权限与安全管理 339
  • 13.1  权 限 表 339
  • 13.1.1  user表 340
  • 13.1.2  db表 342
  • 13.1.3  tables_priv表和columns_priv表 343
  • 13.1.4  procs_priv表 344
  • 13.2  账户管理 344
  • 13.2.1  登录和退出MySQL服务器 345
  • 13.2.2  新建普通用户 346
  • 13.2.3  删除普通用户 348
  • 13.2.4  root用户修改自己的密码 349
  • 13.2.5  root用户修改普通用户密码 350
  • 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  请求核实阶段 357
  • 13.5  提升安全性 358
  • 13.5.1  AES 256加密 358
  • 13.5.2  密码到期更换策略 360
  • 13.5.3  安全模式安装 361
  • 13.6  MySQL 8.0的新特性——管理角色 362
  • 13.7  综合案例——综合管理用户权限 363
  • 13.8  专家解惑 366
  • 13.9  经典习题 366
  • 第14章  数据备份与恢复 368
  • 14.1  数据备份 368
  • 14.1.1  使用MySQLdump命令备份 369
  • 14.1.2  直接复制整个数据库目录 374
  • 14.1.3  使用MySQLhotcopy工具快速备份 375
  • 14.2  数据恢复 375
  • 14.2.1  使用MySQL命令恢复 375
  • 14.2.2  直接复制到数据库目录 376
  • 14.2.3  MySQLhotcopy快速恢复 377
  • 14.3  数据库迁移 377
  • 14.3.1  相同版本的MySQL数据库之间的迁移 377
  • 14.3.2  不同版本的MySQL数据库之间的迁移 378
  • 14.3.3  不同数据库之间的迁移 378
  • 14.4  表的导出和导入 378
  • 14.4.1  使用SELECT…INTO OUTFILE导出文本文件 379
  • 14.4.2  使用MySQLdump命令导出文本文件 383
  • 14.4.3  使用MySQL命令导出文本文件 385
  • 14.4.4  使用LOAD DATA INFILE方式导入文本文件 389
  • 14.4.5  使用MySQLimport命令导入文本文件 391
  • 14.5  综合案例——数据的备份与恢复 392
  • 14.6  专家解惑 396
  • 14.7  经典习题 397
  • 第15章  MySQL日志 398
  • 15.1  日志简介 398
  • 15.2  二进制日志 399
  • 15.2.1  启动和设置二进制日志 399
  • 15.2.2  查看二进制日志 401
  • 15.2.3  删除二进制日志 402
  • 15.2.4  使用二进制日志恢复数据库 404
  • 15.2.5  暂时停止二进制日志功能 404
  • 15.3  错误日志 405
  • 15.3.1  启动和设置错误日志 405
  • 15.3.2  查看错误日志 405
  • 15.3.3  删除错误日志 406
  • 15.4  通用查询日志 407
  • 15.4.1  启动通用查询日志 407
  • 15.4.2  查看通用查询日志 407
  • 15.4.3  删除通用查询日志 408
  • 15.5  慢查询日志 408
  • 15.5.1  启动和设置慢查询日志 409
  • 15.5.2  查看慢查询日志 409
  • 15.5.3  删除慢查询日志 410
  • 15.6  MySQL 8.0的新特性——日志分类更详细 410
  • 15.7  综合案例——MySQL日志的综合管理 410
  • 15.8  专家解惑 416
  • 15.9  经典习题 416
  • 第16章  性能优化 418
  • 16.1  优化简介 418
  • 16.2  优化查询 419
  • 16.2.1  分析查询语句 419
  • 16.2.2  索引对查询速度的影响 423
  • 16.2.3  使用索引查询 424
  • 16.2.4  优化子查询 426
  • 16.3  优化数据库结构 427
  • 16.3.1  将字段很多的表分解成多个表 427
  • 16.3.2  增加中间表 428
  • 16.3.3  增加冗余字段 430
  • 16.3.4  优化插入记录的速度 430
  • 16.3.5  分析表、检查表和优化表 432
  • 16.4  优化MySQL服务器 434
  • 16.4.1  优化服务器硬件 434
  • 16.4.2  优化MySQL的参数 434
  • 16.5  临时表性能优化 435
  • 16.6  服务器语句超时处理 437
  • 16.7  创建全局通用表空间 438
  • 16.8  MySQL 8.0的新特性1——支持不可见索引 438
  • 16.9  MySQL 8.0的新特性2——增加资源组 440
  • 16.10  综合案例——全面优化MySQL服务器 442
  • 16.11  专家解惑 444
  • 16.12  经典习题 445
  • 第17章  MySQL Replication 446
  • 17.1  MySQL Replication概述 446
  • 17.2  Windows环境下的MySQL主从复制 447
  • 17.2.1  复制前的准备工作 447
  • 17.2.2  Windows环境下实现主从复制 448
  • 17.2.3  Windows环境下主从复制测试 455
  • 17.3  Linux环境下的MySQL复制 456
  • 17.3.1  下载并安装MySQL 8.0 456
  • 17.3.2  单机主从复制前的准备工作 458
  • 17.3.3  MySQLd_multi实现单机主从复制 461
  • 17.3.4  不同服务器之间实现主从复制 468
  • 17.3.5  MySQL 主要复制启动选项 470
  • 17.3.6  指定复制的数据库或者表 471
  • 17.4  查看Slave的复制进度 478
  • 17.5  日常管理和维护 479
  • 17.5.1  了解服务器的状态 480
  • 17.5.2  服务器复制出错的原因 481
  • 17.6  切换主从服务器 483
  • 17.7  多源复制的改进 487
  • 17.8  专家解惑 489
  • 17.9  经典习题 490
  • 第18章  MySQL Workbench 的使用 492
  • 18.1  MySQL Workbench简介 492
  • 18.1.1  MySQL Workbench 的概述 493
  • 18.1.2  MySQL Workbench 的优势 493
  • 18.1.3  MySQL Workbench 的安装 493
  • 18.2  SQL Development的基本操作 495
  • 18.2.1  创建数据库连接 495
  • 18.2.2  创建新的数据库 496
  • 18.2.3  创建和删除新的数据表 498
  • 18.2.4  添加、修改表记录 501
  • 18.2.5  查询表记录 502
  • 18.2.6  修改表结构 503
  • 18.3  Data Modeling的基本操作 504
  • 18.3.1  建立ER模型 504
  • 18.3.2  导入ER模型 509
  • 18.4  Server Administration的基本操作 511
  • 18.4.1  管理MySQL用户 511
  • 18.4.2  备份MySQL数据库 514
  • 18.4.3  恢复MySQL数据库 517
  • 18.5 专家解惑 518
  • 18.6 经典习题 518
  • 第19章  MySQL管理利器——MySQL Utilities 519
  • 19.1  MySQL Utilities概述 519
  • 19.2  安装与配置 520
  • 19.2.1  下载与安装MySQL Utilities 520
  • 19.2.2  MySQL Utilities连接数据库 522
  • 19.3  管理与维护 522
  • 19.3.1  使用mysqldbcompare比较数据 523
  • 19.3.2  使用mysqldbcopy复制数据 523
  • 19.3.3  使用mysqldbexport导出数据 524
  • 19.3.4  使用mysqldbimport导入数据 524
  • 19.3.5  使用mysqldiff比较对象的定义 525
  • 19.4  专家解惑 525
  • 19.5  经典习题 526
  • 第20章  读写分离的利器——MySQL Proxy 527
  • 20.1  概述 527
  • 20.2  安装与配置 528
  • 20.2.1  下载与安装MySQL Proxy 529
  • 20.2.2  配置MySQL Proxy参数 529
  • 20.2.3  配置Path变量 532
  • 20.3  使用MySQL Proxy实现读写分离 533
  • 20.4  专家解惑 534
  • 20.5  经典习题 535
  • 第21章  精通MySQL存储引擎 536
  • 21.1  MySQL架构 536
  • 21.1.1  MySQL物理文件的组成 537
  • 21.1.2  MySQL各逻辑块简介 539
  • 21.1.3  MySQL各逻辑块协调工作 541
  • 21.2  数据库存储引擎 543
  • 21.2.1  MySQL存储引擎简介 543
  • 21.2.2  InnoDB存储引擎 545
  • 21.2.3  MyISAM存储引擎 545
  • 21.2.4  MEMORY存储引擎 546
  • 21.2.5  MERGE存储引擎 546
  • 21.2.6  BerkeleyDB存储引擎 548
  • 21.3  认识MySQL的锁定机制 549
  • 21.4  MyISAM的锁定机制 554
  • 21.4.1  MyISAM表级锁的锁模式 554
  • 21.4.2  获取MyISAM表级锁的争用情况 556
  • 21.4.3  MyISAM表级锁加锁方法 557
  • 21.4.4  MyISAM Concurrent Insert的特性 559
  • 21.4.5  MyISAM表级锁优化建议 561
  • 21.5  InnoDB的锁定机制 562
  • 21.5.1  InnoDB行级锁模式 562
  • 21.5.2  获取InnoDB行级锁的争用情况 567
  • 21.5.3  InnoDB行级锁的实现方法 569
  • 21.5.4  间隙锁(Net-Key锁) 575
  • 21.5.5 InnoDB 在不同隔离级别下加锁的差异 576
  • 21.5.6 InnoDB 存储引擎中的死锁 576
  • 21.5.7  InnoDB行级锁优化建议 579
  • 21.6  InnoDB存储引擎的在线操作 580
  • 21.6.1  在线添加主键 580
  • 21.6.2  在线增大VARCHAR列长 581
  • 21.6.3  在线重命名索引 582
  • 21.7  MySQL 8.0的新特性1——支持JSON类型 582
  • 21.8  MySQL 8.0的新特性2——全文索引的加强 584
  • 21.9  MySQL 8.0的新特性3—— 动态修改InnoDB缓冲池的大小 586
  • 21.10  MySQL 8.0的新特性4——表空间数据加密 587
  • 21.11  MySQL 8.0的新特性5——跳过锁等待 588
  • 21.12  专家解惑 589
  • 21.13  经典习题 590
  • 第22章  PHP操作MySQL数据库 591
  • 22.1  PHP访问MySQL数据库的一般步骤 591
  • 22.2  连接数据库前的准备工作 592
  • 22.3  访问数据库 593
  • 22.3.1  使用mysqli_connect()函数连接MySQL服务器 593
  • 22.3.2  使用mysqli_select_db()函数更改默认的数据库 594
  • 22.3.3  使用mysqli_close()函数关闭MySQL连接 595
  • 22.3.4  使用mysqli_query()函数执行SQL语句 595
  • 22.3.5  获取查询结果集中的记录数 596
  • 22.3.6  获取结果集中的一条记录作为枚举数组 597
  • 22.3.7  获取结果集中的记录作为关联数组 598
  • 22.3.8  获取结果集中的记录作为对象 599
  • 22.3.9  使用mysqli_fetch_array()函数获取结果集记录 599
  • 22.3.10  使用mysqli_free_result()函数释放资源 600
  • 22.4  综合实例1——PHP操作MySQL数据库 600
  • 22.5  综合实例2——使用insert语句动态添加用户信息 602
  • 22.6  综合实例3——使用select语句查询数据信息 604
  • 22.7  专家解惑 605
  • 第23章  PDO数据库抽象类库 607
  • 23.1  PDO概述 607
  • 23.2  PDO的安装 608
  • 23.3  使用PDO操作MySQL 608
  • 23.3.1  连接MySQL数据库的方法 609
  • 23.3.2  使用PDO时的try catch错误处理结构 610
  • 23.3.3  使用PDO执行SQL的选择语句 612
  • 23.3.4  使用PDO获取返回数据的类方法 613
  • 23.3.5  使用PDO执行SQL的添加、修改语句 615
  • 23.3.6  使用PDO执行SQL的删除语句 616
  • 23.4  综合实例——PDO的prepare表述 616
  • 23.5  专家解惑 618
  • 第24章  综合项目1——开发网上商城 619
  • 24.1  系统功能描述 619
  • 24.2  系统功能分析 620
  • 24.2.1  系统功能分析 620
  • 24.2.2  数据流程和数据库 621
  • 24.3  代码的具体实现 623
  • 24.4  程序运行 633
  • 第25章  综合项目2——论坛管理系统数据库设计 635
  • 25.1  系统概述 635
  • 25.2  系统功能 636
  • 25.3  数据库设计和实现 637
  • 25.3.1  设计方案图表 637
  • 25.3.2  设计表 639
  • 25.3.3  设计索引 642
  • 25.3.4  设计视图 643
  • 25.3.5  设计触发器 644
  • 第26章  综合项目3——新闻发布系统数据库设计 646
  • 26.1  系统概述 646
  • 26.2  系统功能 647
  • 26.3  数据库设计和实现 648
  • 26.3.1  设计表 648
  • 26.3.2  设计索引 652
  • 26.3.3  设计视图 653
  • 26.3.4  设计触发器 654

资源获取

相关资源

网友留言