书籍详情

像程序员一样使用MySQL

像程序员一样使用MySQL

作者:黄文毅

出版社:清华大学出版社

出版时间:2023-09-01

ISBN:9787302642077

定价:¥89.00

购买这本书可以去
内容简介
  熟练使用MySQL数据库,是研发工程师和数据库工程师的bi备技能之一。本书从程序员的视角介绍了MySQL数据库在实际开发中的核心知识和应用技能。全书共14章。第1章主要讲解MySQL数据库以及客户端工具的安装;第2~4章主要介绍数据库与表的创建、数据类型与表达式,以及函数、运算符与变量;第5章主要讲解select查询语句、子查询以及连接查询;第6章主要讲解索引和索引类型;第7、8章主要介绍MySQL事务的ACID特性、事务的四种隔离级别、如何使用事务、存储过程和视图概述,以及如何使用存储过程和视图;第9章介绍MySQL用户权限管理以及数据备份与恢复;第10章介绍如何设计数据库,包括关联关系、E-R实体关系模型;第11~13章主要介绍MySQL日志、锁以及分库分表;第14章介绍SQL性能优化与字符集。附录部分包含本书用到的SQL脚本、词汇解释以及高频面试题。本书适合所有计算机专业的学生、软件开发人员,以及DBA使用,也可作为培训机构MySQL教学的参考书。
作者简介
  黄文毅,架构师,从业近十年,先后就职于上海美团、厦门美图和海西医药等公司,从事Java开发工作,目前就职于某国内大型企业从事大数据和后端研发,对于Java后端开发及MySQL等各类数据库的有着十分丰富的经验。著有图书:《分布高可用架构之道》《Spring 5企业级开发实战》(与人合著)等图书。
目录
第 1 章  初识MySQL 1
1.1  安装MySQL 1
1.1.1  在macOS上安装MySQL 2
1.1.2  在Windows上安装MySQL 6
1.2  如何选择MySQL客户端 10
1.2.1  在macOS上安装Workbench 10
1.2.2  在macOS上安装DataGrip 12
1.2.3  在Windows上安装
Workbench 14
1.2.4  命令行连接MySQL 14
第 2 章  数据库与表的创建 17
2.1  数据库操作 17
2.1.1  创建第一个数据库 18
2.1.2  更新数据库名称 20
2.1.3  删除数据库 21
2.1.4  取个合适的数据库名称 22
2.2  表操作 23
2.2.1  创建第一张表 23
2.2.2  表数据插入 26
2.2.3  建表规约 28
2.2.4  慎重删除表和数据 29
2.2.5  修改表和表结构 31
2.2.6  表结构/表数据导出 35
第 3 章  MySQL常用数据类型 38
3.1  数值数据类型 38
3.1.1  整数类型 38
3.1.2  浮点数类型 40
3.1.3  定点数类型 42
3.1.4  bit类型 43
3.1.5  数值类型属性 44
3.1.6  超出范围和溢出处理 44
3.2  日期和时间类型 46
3.2.1  时间小数秒精确度 47
3.2.2  日期和时间类型转换 48
3.3  字符串数据类型 49
3.3.1  char和varchar类型 50
3.3.2  blob和text类型 51
3.3.3  enum和set类型 52
3.3.4  JSON类型 53
3.3.5  数据类型默认值 57
第 4 章  运算符、函数与变量 59
4.1  运算符 59
4.1.1  运算符优先级 59
4.1.2  比较运算符和函数 60
4.1.3  逻辑运算符 62
4.1.4  赋值运算符 63
4.2  函数 65
4.2.1  字符串函数 65
4.2.2  数学函数 67
4.2.3  日期和时间函数 68
4.2.4  聚合函数 72
4.2.5  流程控制函数 73
4.2.6  强制类型转换函数 74
4.2.7  加密函数 75
4.2.8  信息函数 77
4.3  变量 78
第 5 章  select查询 80
5.1  select简单查询 80
5.1.1  无表查询 80
5.1.2  指定列查询 81
5.1.3  limit指定行和分页查询 81
5.2  where条件查询 83
5.2.1  使用where子句 83
5.2.2  where单值查询 84
5.2.3  范围和区间查询 85
5.2.4  模糊查询 86
5.2.5  空值查询 86
5.2.6  where多值查询 87
5.3  数据排序order by 88
5.4  数据分组group by 89
5.5  分组后过滤having 91
5.6  组合查询union 92
5.7  子查询 96
5.8  连接查询 98
第 6 章  索引 102
6.1  认识索引 102
6.1.1  什么是索引 102
6.1.2  索引的种类 104
6.1.3  索引增、删、改、查 105
6.2  索引类型 108
6.2.1  主键及主键索引 108
6.2.2  唯一索引 109
6.2.3  普通的单字段索引 110
6.2.4  普通的组合索引 110
6.2.5  前缀索引 112
第 7 章  MySQL事务 114
7.1  事务的4大特性 114
7.2  使用事务 116
7.3  事务的4种隔离级别 120
第 8 章  MySQL视图和存储过程 127
8.1  视图 127
8.1.1  视图的使用场景 127
8.1.2  视图的增、删、改、查 128
8.1.3  使用视图的注意事项 130
8.2  存储过程 131
8.2.1  存储过程的增、删、改、查 131
8.2.2  存储过程与流程控制语句
搭配使用 134
8.2.3  应用场景与优缺点 135
第 9 章  用户权限管理及 数据备份与恢复 136
9.1  用户权限管理 136
9.1.1  用户管理 136
9.1.2  角色管理 138
9.1.3  权限管理及授权 139
9.2  数据备份 141
9.2.1  mysqldump概述 141
9.2.2  mysqldump数据备份 142
9.3  数据恢复 145
第 10 章  数据库设计 147
10.1  关联关系 147
10.1.1  一对一 147
10.1.2  一对多 149
10.1.3  多对多 149
10.1.4  自关联 150
10.2  E-R实体关系模型 150
10.3  数据表设计三范式 152
10.4  数据库设计流程 153
10.5  教务管理系统数据库设计案例 154
10.5.1  需求分析 154
10.5.2  设计 155
10.5.3  实现 159
第 11 章  数据库日志 161
11.1  MySQL的几种日志 161
11.2  了解错误日志 162
11.3  了解普通查询日志 162
11.4  了解慢查询日志 164
11.5  了解二进制日志 166
11.6  了解撤销日志 167
11.7  了解重做日志 167
11.8  了解中继日志 168
11.9  主从模式与主从同步 168
第 12 章  MySQL锁 172
12.1  MySQL锁及分类 172
12.2  共享锁和独占锁 172
12.3  全局锁 174
12.4  表级锁 176
12.4.1  表锁 176
12.4.2  元数据锁 178
12.4.3  意向锁 180
12.4.4  自增锁 183
12.5  行锁 183
12.5.1  记录锁 184
12.5.2  间隙锁与临键锁 185
12.5.3  插入意向锁 189
12.6  悲观锁和乐观锁 191
第 13 章  MySQL分库分表 193
13.1  分库 193
13.2  分表 194
13.3  切分方式 194
13.3.1  水平切分的方式 194
13.3.2  垂直切分的方式 196
13.4  分组 196
第 14 章  SQL性能优化与字符集 198
14.1  SQL优化工具 198
14.1.1  explain执行计划 198
14.1.2  show profile 200
14.2  慢SQL优化 204
14.2.1  表无任何索引 204
14.2.2  索引失效优化 205
14.2.3  使用索引覆盖优化 209
14.2.4  插入性能优化 209
14.2.5  优化select count(*) 212
14.2.6  select*语句优化 213
14.3  字符集 214
14.3.1  字符集概述 214
14.3.2  设置适当的字符集 214
14.3.3  设置默认字符集 215
14.3.4  转换字符集 215
附录A  MySQL数据 216
附录B  词汇解释 217
附录C  MySQL高频面试题 219
附录D  练习题 223
参考文献 226
 
 
猜您喜欢

读书导航