新书速览|MySQL 9从入门到性能优化:视频教学版

《MySQL 9从入门到性能优化:视频教学版》

本书内容

MySQL是流行的关系数据库管理系统之一,由于其体积小、速度快、总体拥有成本低、开放源码等特点,一般中小型企业甚至大型互联网企业的应用开发都选择MySQL作为数据库。《MySQL 9从入门到性能优化:视频教学版》注重实战操作,详解MySQL 9数据库的操作、运维、优化和设计方法,配套示例源码、PPT课件、同步教学视频、作者微信群答疑服务,帮助读者快速掌握MySQL数据库。

《MySQL 9从入门到性能优化:视频教学版》共分20章,主要内容包括MySQL的安装与配置,数据库和数据表基本操作,数据类型和运算符,MySQL函数,查询数据,插入、更新与删除数据,索引的设计和使用,存储过程和函数,视图,MySQL触发器,数据备份与恢复,MySQL日志,MySQL权限与安全管理,SQL性能优化,MySQL服务器性能优化,MySQL性能监控,提升MySQL数据库的性能,MySQL终极优化实战,企业人事管理系统数据库设计,在线购物系统数据库设计。

本书作者

王英英,从事Web应用开发多年,精通多种编程语言,对数据库技术有深入研究。在Web前端、编程语言、数据库开发方面有着丰富的经验,并创作过多本相关畅销书,被广大读者熟悉和认可。其创作的部分书包括:《SQL Server 2022从入门到精通(视频教学超值版)》

《Python编程从零开始学(视频教学版)》《HTML5+CSS3+JavaScript前端开发从零开始学(视频教学版)》《MySQL 8从入门到精通(视频教学版)》《HTML5+CSS3+JavaScript+jQuery Mobile移动网站与App开发(视频教学版)》《Oracle 19c从入门到精通(视频教学超值版)》

《SQL Server 2019从入门到精通(视频教学超值版)》《MySQL 5.7从零开始学(视频教学版)》。

本书读者

《MySQL 9从入门到性能优化:视频教学版》适合MySQL初学者、MySQL应用开发人员、MySQL数据库管理员和系统运维人员阅读,同时也可以作为高等院校或高职高专院校MySQL数据库课程的教学用书

本书目录

第1章  MySQL的安装与配置 1

1.1  什么是MySQL 1

1.1.1  客户端/服务器软件 1

1.1.2  MySQL版本 2

1.2  Windows平台下安装与配置MySQL 2

1.2.1  安装MySQL 2

1.2.2  配置MySQL 6

1.3  启动服务并登录MySQL数据库 11

1.3.1  启动MySQL服务 11

1.3.2  登录MySQL数据库 12

1.3.3  配置Path变量 13

1.4  MySQL常用的图形化管理工具 15

1.5  Linux平台下安装与配置MySQL 16

1.5.1  Linux操作系统下的MySQL版本介绍 16

1.5.2  安装和配置MySQL的RPM包 17

第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  使用非空约束 25

2.3.5  使用唯一性约束 25

2.3.6  使用默认约束 26

2.3.7  设置表的属性值自动增加 26

2.4  查看数据表结构 27

2.4.1  查看表基本结构的语句DESCRIBE 27

2.4.2  查看表详细结构的语句SHOW CREATE TABLE 28

2.5  修改数据表 29

2.5.1  修改表名 29

2.5.2  修改字段的数据类型 30

2.5.3  修改字段名 31

2.5.4  添加字段 32

2.5.5  删除字段 34

2.5.6  修改字段的排列位置 35

2.5.7  删除表的外键约束 36

2.6  删除数据表 37

2.6.1  删除没有被关联的表 37

2.6.2  删除被其他表关联的主表 38

第3章  数据类型和运算符 40

3.1  MySQL的数据类型 40

3.1.1  整数类型 40

3.1.2  小数类型 41

3.1.3  日期与时间类型 43

3.1.4  文本字符串类型 53

3.1.5  二进制字符串类型 58

3.2  如何选择数据类型 60

3.3  运算符 62

3.3.1  运算符概述 62

3.3.2  算术运算符 63

3.3.3  比较运算符 64

3.3.4  逻辑运算符 71

3.3.5  位运算符 73

3.3.6  运算符的优先级 76

第4章  MySQL函数 77

4.1  MySQL函数简介 77

4.2  数学函数 77

4.2.1  绝对值函数ABS(x)和返回圆周率的函数PI() 77

4.2.2  平方根函数SQRT(x)和求余函数MOD(x,y) 78

4.2.3  获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 79

4.2.4  获取随机数的函数RAND()和RAND(x) 79

4.2.5  函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 80

4.2.6  符号函数SIGN(x) 81

4.2.7  幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 81

4.2.8  对数运算函数LOG(x)和LOG10(x) 82

4.2.9  角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 82

4.2.10  正弦函数SIN(x)和反正弦函数ASIN(x) 83

4.2.11  余弦函数COS(x)和反余弦函数ACOS(x) 83

4.2.12  正切函数、反正切函数和余切函数 84

4.3  字符串函数 85

4.3.1  计算字符串的字符数的函数和计算字符串长度的函数 85

4.3.2  合并字符串函数CONCAT(s1,s2,...)、CONCAT_WS(x,s1,s2,...) 85

4.3.3  替换字符串的函数INSERT(s1,x,len,s2) 86

4.3.4  字母大小写转换函数 87

4.3.5  获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 87

4.3.6  填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 88

4.3.7  删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 88

4.3.8  删除指定字符串的函数TRIM(s1 FROM s) 89

4.3.9  重复生成字符串的函数REPEAT(s,n) 90

4.3.10  空格函数SPACE(n)和替换函数REPLACE(s,s1,s2) 90

4.3.11  比较字符串大小的函数STRCMP(s1,s2) 91

4.3.12  获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len) 91

4.3.13  匹配子字符串开始位置的函数 92

4.3.14  字符串逆序的函数REVERSE(s) 92

4.3.15  返回指定位置的字符串的函数 92

4.3.16  返回指定字符串位置的函数FIELD(s,s1,s2,...,sn) 93

4.3.17  返回子字符串位置的函数FIND_IN_SET(s1,s2) 93

4.3.18  选取字符串的函数MAKE_SET(x,s1,s2,...,sn) 94

4.4  日期和时间函数 94

4.4.1  获取当前日期的函数和获取当前时间的函数 94

4.4.2  获取当前日期和时间的函数 95

4.4.3  UNIX时间戳函数 95

4.4.4  返回UTC日期的函数和返回UTC时间的函数 96

4.4.5  获取月份的函数MONTH(date)和MONTHNAME(date) 97

4.4.6  获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 97

4.4.7  获取星期数的函数WEEK(d)和WEEKOFYEAR(d) 98

4.4.8  获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d) 99

4.4.9  获取年份、季度、小时、分钟和秒钟的函数 99

4.4.10  获取日期的指定值的函数EXTRACT(type FROM date) 100

4.4.11  时间和秒数转换的函数 101

4.4.12  计算日期和时间的函数 101

4.4.13  将日期和时间格式化的函数 104

4.5  条件判断函数 107

4.5.1  IF()函数 107

4.5.2  IFNULL()函数 107

4.5.3  CASE()函数 108

4.6  系统信息函数 109

4.6.1  获取MySQL版本号、连接数和数据库名的函数 109

4.6.2  获取用户名的函数 110

4.6.3  获取字符串的字符集和排序方式的函数 111

4.6.4  获取最后一个自动生成的ID值的函数 111

4.7  加密函数 113

4.7.1  加密函数MD5(str) 113

4.7.2  加密函数SHA(str) 113

4.7.3  加密函数SHA2

(str, hash_length) 114

4.8  其他函数 114

4.8.1  格式化函数FORMAT(x,n) 114

4.8.2  不同进制的数字进行转换的函数 115

4.8.3  IP地址与数字相互转换的函数 115

4.8.4  加锁函数和解锁函数 116

4.8.5  重复执行指定操作的函数 116

4.8.6  改变字符集的函数 117

4.8.7  改变数据类型的函数 118

4.9  窗口函数 118

第5章  查询数据 120

5.1  基本查询语句 120

5.2  单表查询 122

5.2.1  查询所有字段 122

5.2.2  查询指定字段 123

5.2.3  查询指定记录 125

5.2.4  带IN关键字的查询 126

5.2.5  带BETWEEN AND的范围查询 127

5.2.6  带LIKE的字符匹配查询 128

5.2.7  查询空值 130

5.2.8  带AND的多条件查询 131

5.2.9  带OR的多条件查询 132

5.2.10  查询结果不重复 133

5.2.11  对查询结果排序 134

5.2.12  分组查询 138

5.2.13  使用LIMIT限制查询结果的数量 142

5.3  使用聚合函数查询 143

5.3.1  COUNT()函数 144

5.3.2  SUM()函数 145

5.3.3  AVG()函数 145

5.3.4  MAX()函数 146

5.3.5  MIN()函数 147

5.4  连接查询 148

5.4.1  内连接查询 148

5.4.2  外连接查询 151

5.4.3  复合条件连接查询 153

5.5  子查询 154

5.5.1  带ANY、SOME关键字的子查询 154

5.5.2  带ALL关键字的子查询 155

5.5.3  带EXISTS关键字的子查询 155

5.5.4  带IN关键字的子查询 156

5.5.5  带比较运算符的子查询 158

5.6  合并查询结果 159

5.7  为表和字段取别名 162

5.7.1  为表取别名 162

5.7.2  为字段取别名 163

5.8  使用正则表达式查询 164

5.8.1  查询以特定字符或字符串开头的记录 165

5.8.2  查询以特定字符或字符串结尾的记录 166

5.8.3  用符号“.”来替代字符串中的任意一个字符 166

5.8.4  使用“*”和“+”来匹配多个字符 167

5.8.5  匹配指定字符串 167

5.8.6  匹配指定字符中的任意一个 168

5.8.7  匹配指定字符以外的字符 169

5.8.8  使用{n,}或者{n,m}来指定

字符串连续出现的次数 170

5.9  通用表表达式 171

第6章  插入、更新与删除数据 175

6.1  插入数据 175

6.1.1  为表的所有字段插入数据 175

6.1.2  为表的指定字段插入数据 177

6.1.3  同时插入多条数据 178

6.1.4  将查询结果插入表中 180

6.2  更新数据 181

6.3  删除数据 183

6.4  为表增加计算列 185

6.5  DDL的原子化 186

第7章  索引的设计和使用 188

7.1  索引简介 188

7.1.1  索引的含义和特点 188

7.1.2  索引的分类 189

7.1.3  索引的设计原则 190

7.2  创建索引 190

7.2.1  创建表的时候创建索引 190

7.2.2  在已经存在的表上创建索引 196

7.3  删除索引 202

7.4  使用降序索引 204

第8章  存储过程和存储函数 207

8.1  创建存储过程和存储函数 207

8.1.1  创建存储过程 207

8.1.2  创建存储函数 209

8.1.3  变量的使用 210

8.1.4  定义条件和处理程序 212

8.1.5  光标的使用 214

8.1.6  流程控制的使用 216

8.2  调用存储过程和存储函数 220

8.2.1  调用存储过程 220

8.2.2  调用存储函数 221

8.3  查看存储过程和存储函数 221

8.3.1  使用SHOW STATUS语句查看存储过程和存储函数的状态 222

8.3.2  使用SHOW CREATE语句查看存储过程和存储函数的定义 222

8.3.3  从information_schema.Routines

表中查看存储过程和存储函数的信息 223

8.4  修改存储过程和存储函数 224

8.5  删除存储过程和存储函数 226

8.6  全局变量的持久化 226

第9章  视图 228

9.1  视图概述 228

9.1.1  视图的含义 228

9.1.2  视图的作用 229

9.2  创建视图 229

9.2.1  创建视图的语法形式 230

9.2.2  在单表上创建视图 230

9.2.3  在多表上创建视图 231

9.3  查看视图 232

9.3.1  使用DESCRIBE语句查看视图基本信息 232

9.3.2  使用SHOW TABLE STATUS语句查看视图基本信息 232

9.3.3  使用SHOW CREATE VIEW语句查看视图详细信息 234

9.3.4  在views表中查看视图详细信息 234

9.4  修改视图 235

9.4.1  使用CREATE OR REPLACE

VIEW语句修改视图 235

9.4.2  使用ALTER语句修改视图 236

9.5  更新视图 237

9.6  删除视图 239

第10章  MySQL触发器 241

10.1  创建触发器 241

10.1.1  创建只有一个执行语句的触发器 241

10.1.2  创建有多个执行语句的触发器 242

10.2  查看触发器 244

10.2.1  利用SHOW TRIGGERS语句查看触发器信息 244

10.2.2  在triggers表中查看触发器信息 246

10.3  触发器的使用 247

10.4  删除触发器 248

第11章  数据备份与恢复 249

11.1  数据备份 249

11.1.1  使用mysqldump命令备份数据 249

11.1.2  直接复制整个数据库目录 254

11.1.3  使用MySQLhotcopy工具快速备份 255

11.2  数据恢复 255

11.2.1  使用mysql命令恢复数据 256

11.2.2  直接复制到数据库目录 256

11.2.3  mysqlhotcopy快速恢复 257

11.3  数据库迁移 257

11.3.1  相同版本的MySQL数据库之间的迁移 257

11.3.2  不同版本的MySQL数据库之间的迁移 258

11.3.3  不同数据库之间的迁移 258

11.4  数据的导出和导入 259

11.4.1  使用SELECT...INTO OUTFILE导出文本文件 259

11.4.2  使用mysqldump命令导出文本文件 262

11.4.3  使用mysql命令导出文本文件 265

11.4.4  使用LOAD DATA INFILE方式导入文本文件 267

11.4.5  使用mysqlimport命令导入文本文件 269

第12章  MySQL日志 272

12.1  日志简介 272

12.2  二进制日志 273

12.2.1  启动和设置二进制日志 273

12.2.2  查看二进制日志 274

12.2.3  删除二进制日志 276

12.2.4  使用二进制日志恢复数据库 277

12.2.5  暂时停止二进制日志功能 278

12.3  错误日志 278

12.3.1  启动和设置错误日志 278

12.3.2  查看错误日志 279

12.3.3  删除错误日志 280

12.4  通用查询日志 280

12.4.1  启动通用查询日志 280

12.4.2  查看通用查询日志 281

12.4.3  删除通用查询日志 281

12.5  慢查询日志 282

12.5.1  启动和设置慢查询日志 282

12.5.2  查看慢查询日志 282

12.5.3  删除慢查询日志 283

第13章  MySQL权限与安全管理 284

13.1  权限表 284

13.1.1  user表 284

13.1.2  db表 287

13.1.3  tables_priv表和

columns_priv表 288

13.1.4  procs_priv表 289

13.2  账户管理 290

13.2.1  登录和退出MySQL服务器 290

13.2.2  新建普通用户 291

13.2.3  删除普通用户 293

13.2.4  root用户修改普通用户密码 294

13.3  权限管理 295

13.3.1  MySQL的各种权限 296

13.3.2  授权 298

13.3.3  收回权限 299

13.3.4  查看权限 300

13.4  访问控制 301

13.4.1  连接核实阶段 301

13.4.2  请求核实阶段 301

13.5  提升安全性 302

13.5.1  密码到期更换策略 302

13.5.2  安全模式 304

13.6  管理角色 305

第14章  MySQL性能优化 307

14.1  优化简介 307

14.2  优化查询 308

14.2.1  分析查询语句 308

14.2.2  索引对查询速度的影响 311

14.2.3  使用索引查询 312

14.2.4  优化子查询 315

14.3  优化数据库结构 315

14.3.1  将字段很多的表分解成多张表 315

14.3.2  增加中间表 317

14.3.3  增加冗余字段 318

14.3.4  优化插入记录的速度 318

14.3.5  分析表、检查表和优化表 320

14.4  优化临时表性能 322

14.5  创建全局通用表空间 324

第15章  MySQL服务器性能优化 325

15.1  优化MySQL服务器 325

15.1.1  优化服务器硬件 325

15.1.2  优化MySQL的参数 326

15.2  影响MySQL服务器性能的重要参数 327

15.2.1  查看性能参数的方法 327

15.2.2  key_buffer_size的设置 331

15.2.3  内存参数的设置 334

15.2.4  日志和事务参数的设置 335

15.2.5  存储和I/O相关参数的设置 337

15.2.6  其他重要参数的设置 338

15.3  MySQL日志设置优化 339

15.4  MySQL I/O设置优化 341

15.5  MySQL并发设置优化 343

15.6  服务器语句超时处理 344

15.7  线程和临时表的优化 344

15.7.1  线程的优化 344

15.7.2  临时表的优化 345

15.8  增加资源组 346

第16章  MySQL性能监控 348

16.1  监控系统的基本方法 348

16.1.1  ps命令 348

16.1.2  top命令 349

16.1.3  vmstat命令 351

16.1.4  mytop命令 352

16.1.5  sysstat工具 354

16.2  开源监控利器Nagios实战 359

16.2.1  安装Nagios之前的准备工作 359

16.2.2  安装Nagios主程序 361

16.2.3  整合Nagios到Apache服务 362

16.2.4  安装Nagios插件包 365

16.2.5  监控服务器的CPU、负载、磁盘I/O使用情况 367

16.2.6  配置Nagios监控MySQL服务器 371

16.3  MySQL监控利器Cacti实战 373

16.3.1  Cacti工具的安装 373

16.3.2  Cacti监控MySQL服务器 378

第17章  提升MySQL数据库的性能 384

17.1  默认字符集改为utf8mb4 384

17.2  自增变量的持久化 385

17.3  GROUP BY不再隐式排序 387

17.4  统计直方图 389

17.4.1  直方图的优点 389

17.4.2  直方图的基本操作 390

17.5  日志分类更详细 391

17.6  支持不可见索引 392

17.7  支持JSON类型 393

17.8  全文索引的加强 396

17.9  动态修改InnoDB缓冲池的大小 397

17.10  表空间数据加密 399

17.11  跳过锁等待 400

17.12  MySQL 9.0新特性1——支持

将JSON输出保存到用户变量 400

17.13  MySQL 9.0新特性2——支持准备语句 401

17.14  MySQL 9.0新特性3——支持

面向AI的向量存储 402

第18章  MySQL终极优化实战 404

18.1  选择合适的存储引擎 404

18.2  通过分区表提升MySQL执行效率 408

18.2.1  认识分区表 408

18.2.2  RANGE分区 408

18.2.3  LIST分区 410

18.2.4  HASH分区 411

18.2.5  线性HASH分区 411

18.2.6  KEY分区 413

18.2.7  复合分区 413

18.3  优化数据表的锁 415

18.3.1  MyISAM表级锁优化建议 415

18.3.2  InnoDB行级锁优化建议 416

18.4  优化事务控制 416

第19章  企业人事管理系统数据库设计 421

19.1  需求分析 421

19.2  系统功能结构 421

19.3  数据库设计 422

19.3.1  数据库实体E-R图 422

19.3.2  数据库表的设计 425

19.4  使用MySQL Workbench创建数据表 428

19.4.1  创建数据库连接 428

19.4.2  创建新的数据库 429

19.4.3  创建数据表 430

第20章  在线购物系统数据库设计 433

20.1  系统分析 433

20.1.1  系统总体设计 433

20.1.2  系统界面设计 433

20.2  系统主要功能 434

20.3  数据库与数据表设计 435

20.3.1  数据库实体E-R图 435

20.3.2  数据库和数据表分析 436

20.4  使用MySQL Workbench数据建模 438

20.4.1  建立E-R模型 438

20.4.2  导入E-R模型 442

本书特色

本文摘自《MySQL 9从入门到性能优化:视频教学版》,获出版社和作者授权发布。

MySQL 9从入门到性能优化(视频教学版)——jd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值