- ISBN:9787302612858
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:516
- 出版时间:2022-08-01
- 条形码:9787302612858 ; 978-7-302-61285-8
本书特色
MySQL被设计为一个可移植的数据库,几乎能在当前所有的操作系统上运行,如Linux、Ubantu、Red Hat、Solaris、FreeBSD、Mac和Windows。开源MySQL数据库发展到今天,已经具有了非常广泛的用户基础,市场证明MySQL具有性能价格合适、使用灵活、应用广泛和具有良好支持的特点。 MySQL 8做了大量的改进,性能比MySQL 5.7快2倍!本书把MySQL 8的新特性分散到各章结合实例进行讲解并做提示,方便读者快速掌握MySQL数据库管理技术以及MySQL 8的新特性。
内容简介
MySQL是比较受欢迎的开源关系型数据库之一。本书通过大量实用的操作案例,详细讲解MySQL 8.x数据库操作方法和技巧。本书配套资源提供了所有例子的源代码、PPT课件、培训班形式的同步教学视频、命令速查手册、QQ群与微信群答疑,以方便读者参考和自学。 本书共分25章。主要内容包括MySQL 8.x的安装与配置、数据库和数据表基本操作、数据类型和运算符、MySQL函数、数据的增删改查、索引的设计和使用、存储过程和函数、视图、触发器、存储引擎的选择、分区和事务控制、性能优化、锁定机制、服务器性能优化、性能监控、数据备份与还原、日志、权限与安全管理、高可用架构、复制、MySQL Utilities、MySQL Proxy。*后通过两个案例系统的数据库设计,进一步讲解MySQL在系统开发中的应用。本书注重实战操作,帮助读者循序渐进地掌握MySQL的各项管理与开发技术。 本书适合MySQL数据库初学者、MySQL数据库开发人员和MySQL数据库管理员,同时也能作为高等院校相关专业师生的教学用书。
目录
第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
作者简介
李小威,软件开发经理,在软件开发领域有多年的开发经验,尤其擅长Java、PHP、关系数据库、Web前端等技术,具有很强的实战经验。著有多本畅销书《Vue.js 3.x高效前端开发(视频教学版)》《Vue.js 3.0从入门到精通(视频教学版)》《SQL Server 2017从零开始学(视频教学版)》《SQL基础教程(视频教学版)》《PostgreSQL 11从入门到精通(视频教学版)》《MySQL 5.7从零开始学(视频教学版)》等。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0