MySQL 8.0数据库管理与应用
作者:吴少君
出版时间: 2021年版
内容简介
MySQL是一个关系型数据库管理系统,它可以跨平台运行,支持多线程、多用户和重负载,具有快速可靠、易于使用、安全性好、连接性好、开源免费等优点。MySQL软件采用了双授权政策,分为社区版和商业版。由于体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,MySQL作为数据库服务器广泛应用于网站开发中。本书以当今的MySQL 8.0为蓝本,系统地讲述了MySQL数据库管理与应用的相关理论知识和操作技能。本书分为9章,主要内容包括:MySQL基础、数据库与表、数据查询、索引与视图、MySQL语言、存储例程、事务与锁定、备份与恢复、用户与角色。
目 录
第1章 MySQL基础 1
1.1 数据库基本概念 1
1.1.1 数据库 1
1.1.2 关系型数据库 1
1.1.3 数据库管理系统 2
1.1.4 数据库系统 2
1.1.5 结构化查询语言 2
1.2 MySQL概述 3
1.2.1 什么是MySQL 3
1.2.2 MySQL的主要特点 4
1.2.3 MySQL的版本 5
1.2.4 MySQL 8.0的新特性 6
1.3 MySQL的下载和安装 7
1.3.1 MySQL的下载 7
1.3.2 MySQL的安装 8
1.3.3 MySQL服务管理 17
1.4 MySQL程序介绍 18
1.4.1 MySQL命令行工具 19
1.4.2 MySQL工作台 22
1.4.3 其他MySQL图形管理工具 25
习题1 26
第2章 数据库与表 27
2.1 数据库操作 27
2.1.1 创建数据库 27
2.1.2 列举数据库 29
2.1.3 设置默认数据库 30
2.1.4 修改数据库 31
2.1.5 删除数据库 32
2.2 表操作 34
2.2.1 数据类型 34
2.2.2 存储引擎 37
2.2.3 创建表 39
2.2.4 查看表信息 43
2.2.5 修改表 46
2.2.6 复制表 48
2.2.7 重命名表 49
2.2.8 删除表 49
2.3 数据完整性约束 50
2.3.1 主键约束 50
2.3.2 候选键约束 52
2.3.3 参照完整性约束 53
2.3.4 检查完整性约束 54
2.3.5 命名完整性约束 55
2.3.6 删除完整性约束 57
2.4 表记录操作 57
2.4.1 插入记录 57
2.4.2 修改记录 62
2.4.3 替换记录 65
2.4.4 删除记录 66
习题2 68
第3章 数据查询 70
3.1 SELECT语句概述 70
3.1.1 SELECT语句的基本组成 70
3.1.2 常用查询工具 71
3.2 选择查询输出项 73
3.2.1 选择所有列 73
3.2.2 选择部分列 74
3.2.3 设置列别名 75
3.2.4 增加派生列 75
3.2.5 消除重复行 76
3.2.6 没有表列的SELECT语句 77
3.3 选择查询数据源 77
3.3.1 单表查询 78
3.3.2 全连接查询 78
3.3.3 内连接查询 79
3.3.4 外连接查询 80
3.3.5 交叉连接查询 81
3.4 设置查询条件 82
3.4.1 WHERE子句语法格式 82
3.4.2 比较搜索 82
3.4.3 判定空值 84
3.4.4 范围搜索 85
3.4.5 列表搜索 86
3.4.6 模式匹配 86
3.4.7 组合搜索条件 87
3.4.8 正则表达式搜索 88
3.5 查询结果分组 90
3.5.1 GROUP BY子句语法格式 90
3.5.2 在分组查询中应用搜索条件 90
3.5.3 使用WITH ROLLUP汇总数据 91
3.5.4 使用聚合函数汇总数据 92
3.6 查询结果排序 93
3.6.1 ORDER BY子句语法格式 93
3.6.2 按单列排序 94
3.6.3 按多列排序 94
3.7 限制查询结果行数 95
3.7.1 LIMIT子句语法格式 95
3.7.2 检索到结果集末尾 96
3.8 子查询 97
3.8.1 标量子查询 97
3.8.2 比较子查询 99
3.8.3 IN子查询 99
3.8.4 ANY子查询 100
3.8.5 ALL子查询 102
3.8.6 行子查询 103
3.8.7 EXISTS子查询 104
3.8.8 派生表 105
3.8.9 公用表表达式 106
3.9 组合查询结果 107
3.9.1 UNION语句 107
3.9.2 应用示例 108
习题3 109
第4章 索引与视图 111
4.1 索引概述 111
4.1.1 索引的概念 111
4.1.2 索引的作用 112
4.1.3 索引的分类 112
4.1.4 索引的设计原则 113
4.2 创建索引 113
4.2.1 创建表时创建索引 113
4.2.2 使用ALTER TABLE创建索引 115
4.2.3 使用CREATE INDEX创建索引 116
4.2.4 查看索引信息 118
4.2.5 删除索引 119
4.3 视图概述 120
4.3.1 视图的概念 120
4.3.2 视图的作用 121
4.4 创建视图 121
4.4.1 查看创建视图权限 121
4.4.2 CREATE VIEW语句 122
4.5 视图操作 125
4.5.1 查看视图 125
4.5.2 修改视图 128
4.5.3 更新视图 129
4.5.4 删除视图 130
习题4 131
第5章 MySQL语言 132
5.1 常量和变量 132
5.1.1 常量 132
5.1.2 变量 139
5.2 运算符和表达式 142
5.2.1 算术运算符 143
5.2.2 比较运算符 145
5.2.3 逻辑运算符 147
5.2.4 位运算符 148
5.2.5 运算符优先级 151
5.2.6 表达式 152
5.3 系统内置函数 152
5.3.1 数学函数 153
5.3.2 字符串函数 155
5.3.3 日期和时间函数 162
5.3.4 流程控制函数 167
5.3.5 系统信息函数 172
5.3.6 加密函数 173
5.3.7 类型转换函数 176
5.3.8 杂项函数 178
习题5 184
第6章 存储例程 186
6.1 存储过程 186
6.1.1 创建存储过程 186
6.1.2 调用存储过程 188
6.1.3 修改存储过程 193
6.1.4 删除存储过程 194
6.2 编写例程语句 194
6.2.1 复合语句 194
6.2.2 声明局部变量 195
6.2.3 条件语句 198
6.2.4 循环语句 203
6.2.5 错误处理程序 207
6.2.6 游标 211
6.3 存储函数 213
6.3.1 创建存储函数 213
6.3.2 调用存储函数 215
6.3.3 修改存储函数 216
6.3.4 删除存储函数 216
6.4 触发器 217
6.4.1 创建触发器 217
6.4.2 删除触发器 220
6.5 事件 220
6.5.1 创建事件 221
6.5.2 修改事件 224
6.5.3 删除事件 226
习题6 226
第7章 事务与锁定 228
7.1 事务 228
7.1.1 事务概述 228
7.1.2 设置自动提交模式 229
7.1.3 开始事务 230
7.1.4 提交事务 232
7.1.5 回滚事务 233
7.1.6 事务保存点 234
7.1.7 设置事务特征 236
7.2 锁定 244
7.2.1 锁定级别 244
7.2.2 获取表级锁定 245
7.2.3 释放表级锁定 247
7.2.4 锁定与事务的交互 248
7.2.5 表级锁定与触发器 249
习题7 250
第8章 MySQL备份与恢复 251
8.1 使用SQL语句 251
8.1.1 SELECT ... INTO OUTFILE 251
8.1.2 LOAD DATA INFILE 253
8.2 使用客户端工具 256
8.2.1 mysqldump 256
8.2.2 mysqlimport 261
习题8 265
第9章 用户与角色 266
9.1 用户管理 266
9.1.1 创建用户 266
9.1.2 修改用户 271
9.1.3 重命名用户 274
9.1.4 修改密码 274
9.1.5 删除用户 275
9.2 角色管理 276
9.2.1 创建角色 276
9.2.2 授予权限 277
9.2.3 撤销权限 284
9.2.4 激活角色 286
9.2.5 删除角色 290
习题9 291