MySQL核心技术与最佳实践

MySQL核心技术与最佳实践

孔祥盛, 编著

出版社:人民邮电出版社

年代:2014

定价:78.0

书籍简介:

本书主要内容共14章,具体内容包括包括数据库设计概述、MySQL基础知识、MySQL表结构的管理、表记录的更新操作、表记录的检索、MySQL编程基础、视图与触发器、存储过程与游标、事务与锁机制、网上选课系统的开发、MySQL日志与事件、MySQL备份与恢复、MySQL安全管理、MySQL优化。

书籍目录:

第一篇 关系数据库设计

第1章 数据库设计概述 2

1.1 数据库概述 2

1.1.1 关系数据库管理系统 2

1.1.2 关系数据库 3

1.1.3 结构化查询语言SQL 4

1.2 数据库设计的相关知识 5

1.2.1 商业知识和沟通技能 5

1.2.2 数据库设计辅助工具 5

1.2.3 “选课系统”概述 6

1.2.4 定义问题域 7

1.2.5 编码规范 8

1.3 E—R图 9

1.3.1 实体和属性 9

1.3.2 关系 10

1.3.3 E—R图的设计原则 12

1.4 关系数据库设计 14

1.4.1 为每个实体建立一张数据库表 15

1.4.2 为每张表定义一个主键 15

1.4.3 增加外键表示一对多关系 16

1.4.4 建立新表表示多对多关系 18

1.4.5 为字段选择合适的数据类型 19

1.4.6 定义约束(constraint)条件 19

1.4.7 评价数据库表设计的质量 21

1.4.8 使用规范化减少数据冗余 21

1.4.9 避免数据经常发生变化 25

习题 26

第二篇 MySQL基础

第2章 MySQL基础知识 30

2.1 MySQL概述 30

2.1.1 MySQL的特点 30

2.1.2 MySQL服务的安装 32

2.1.3 MySQL服务的配置 34

2.1.4 启动与停止MySQL服务 40

2.1.5 MySQL配置文件 41

2.1.6 MySQL客户机 41

2.1.7 连接MySQL服务器 42

2.2 字符集以及字符序设置 44

2.2.1 字符集及字符序概念 44

2.2.2 MySQL字符集与字符序 45

2.2.3 MySQL字符集的转换过程 46

2.2.4 MySQL字符集的设置 47

2.2.5 SQL脚本文件 48

2.3 MySQL数据库管理 49

2.3.1 创建数据库 49

2.3.2 查看数据库 50

2.3.3 显示数据库结构 50

2.3.4 选择当前操作的数据库 51

2.3.5 删除数据库 51

2.4 MySQL表管理 51

2.4.1 MyISAM和InnoDB存储引擎 51

2.4.2 设置默认的存储引擎 52

2.4.3 创建数据库表 53

2.4.4 显示表结构 54

2.4.5 表记录的管理 54

2.4.6 InnoDB表空间 57

2.4.7 删除表 59

2.5 系统变量 59

2.5.1 全局系统变量与会话系统变量 59

2.5.2 查看系统变量的值 60

2.5.3 设置系统变量的值 62

2.6 MySQL数据库备份和恢复 63

习题 64

第3章 MySQL表结构的管理 66

3.1 MySQL数据类型 66

3.1.1 MySQL整数类型 66

3.1.2 MySQL小数类型 67

3.1.3 MySQL字符串类型 67

3.1.4 MySQL日期类型 68

3.1.5 MySQL复合类型 71

3.1.6 MySQL二进制类型 72

3.1.7 选择合适的数据类型 72

3.2 创建表 73

3.2.1 设置约束 74

3.2.2 设置自增型字段 78

3.2.3 其他选项的设置 78

3.2.4 创建“选课系统”数据库表 79

3.2.5 复制一个表结构 80

3.3 修改表结构 81

3.3.1 修改字段相关信息 81

3.3.2 修改约束条件 82

3.3.3 修改表的其他选项 83

3.3.4 修改表名 83

3.4 删除表 84

3.5 索引 84

3.5.1 理解索引 84

3.5.2 索引关键字的选取原则 87

3.5.3 索引与约束 88

3.5.4 创建索引 88

3.5.5 删除索引 90

习题 90

第4章 表记录的更新操作 91

4.1 表记录的插入 91

4.1.1 使用insert语句插入新记录 91

4.1.2 更新操作与字符集 94

4.1.3 关于自增型字段 94

4.1.4 批量插入多条记录 95

4.1.5 使用insert

4.1.6 使用replace插入新记录 96

4.2 表记录的修改 97

4.3 表记录的删除 98

4.3.1 使用delete删除表记录 98

4.3.2 使用truncate清空表记录 98

4.4 MySQL特殊字符序列 100

习题 102

第5章 表记录的检索 103

5.1 select语句概述 103

5.1.1 使用select子句指定字段列表 104

5.1.2 使用谓词过滤记录 105

5.1.3 使用from子句指定数据源 105

5.1.4 多表连接 109

5.2 使用where子句过滤结果集 109

5.2.1 使用单一的条件过滤结果集 110

5.2.2 isNULL运算符 110

5.2.3 select语句与字符集 111

5.2.4 使用逻辑运算符 112

5.2.5 使用like进行模糊查询 115

5.3 使用orderby子句对结果集排序 116

5.4 使用聚合函数汇总结果集 117

5.5 使用groupby子句对记录分组统计 118

5.5.1 groupby子句与聚合函数 118

5.5.2 groupby子句与having子句 119

5.5.3 groupby子句与group_concat()函数 120

5.5.4 groupby子句与withrollup选项 120

5.6 合并结果集 121

5.7 子查询 122

5.7.1 子查询与比较运算符 122

5.7.2 子查询与in运算符 123

5.7.3 子查询与exists逻辑运算符 124

5.7.4 子查询与any运算符 125

5.7.5 子查询与all运算符 126

5.8 选课系统综合查询 126

5.9 使用正则表达式模糊查询 129

5.10 全文检索 131

5.10.1 全文检索的简单应用 132

5.10.2 全文检索方式 135

5.10.3 布尔检索模式的复杂应用 135

5.10.4 MySQL全文检索的注意事项 137

5.10.5 InnoDB表的全文检索 137

习题 138

第三篇 MySQL编程

第6章 MySQL编程基础 140

6.1 MySQL编程基础知识 140

6.1.1 常量 140

6.1.2 用户自定义变量 142

6.1.3 运算符与表达式 147

6.1.4 begin—end语句块 149

6.1.5 重置命令结束标记 149

6.2 自定义函数 150

6.2.1 创建自定义函数的语法格式 150

6.2.2 函数的创建与调用 151

6.2.3 函数的维护 153

6.2.4 条件控制语句 154

6.2.5 循环语句 156

6.3 系统函数 160

6.3.1 数学函数 160

6.3.2 字符串函数 162

6.3.3 数据类型转换函数 168

6.3.4 条件控制函数 169

6.3.5 系统信息函数 170

6.3.6 日期和时间函数 171

6.3.7 其他常用的MySQL函数 177

6.4 中文全文检索的模拟实现 179

习题 181

第7章 视图与触发器 183

7.1 视图 183

7.1.1 创建视图 183

7.1.2 查看视图的定义 184

7.1.3 视图在“选课系统”中的应用 185

7.1.4 视图的作用 186

7.1.5 删除视图 187

7.1.6 检查视图 187

7.1.7 local与cascade检查视图 188

7.2 触发器 189

7.2.1 准备工作 190

7.2.2 使用触发器实现检查约束 191

7.2.3 使用触发器维护冗余数据 192

7.2.4 使用触发器模拟外键级联选项 193

7.2.5 查看触发器的定义 194

7.2.6 删除触发器 195

7.2.7 使用触发器的注意事项 195

7.3 临时表 196

7.3.1 临时表概述 196

7.3.2 临时表的创建、查看与删除 196

7.3.3 “选课系统”中临时表的使用 197

7.3.4 使用临时表的注意事项 198

7.4 派生表(derivedtable) 198

7.5 子查询、视图、临时表、派生表 199

习题 200

第8章 存储过程与游标 201

8.1 存储过程 201

8.1.1 创建存储过程的语法格式 201

8.1.2 存储过程的调用 202

8.1.3 “选课系统”的存储过程 203

8.1.4 查看存储过程的定义 206

8.1.5 删除存储过程 208

8.1.6 存储过程与函数的比较 208

8.2 错误触发条件和错误处理 209

8.2.1 自定义错误处理程序 209

8.2.2 自定义错误触发条件 211

8.2.3 自定义错误处理程序说明 212

8.3 游标 212

8.3.1 使用游标 212

8.3.2 游标在“选课系统”中的使用 213

8.4 预处理SQL语句 215

8.4.1 预处理SQL语句使用步骤 215

8.4.2 “选课系统”中预处理SQL语句的使用 216

8.4.3 预处理SQL语句的复杂应用 217

8.4.4 静态SQL语句与预处理SQL语句 219

8.5 存储程序的说明 219

习题 220

第9章 事务机制与锁机制 221

9.1 事务机制 221

9.1.1 事务机制的必要性 221

9.1.2 关闭MySQL自动提交 222

9.1.3 回滚 223

9.1.4 提交 224

9.1.5 事务 225

9.1.6 保存点 226

9.1.7 “选课系统”中的事务 229

9.2 锁机制 231

9.2.1 锁机制的必要性 231

9.2.2 MySQL锁机制的基础知识 232

9.2.3 MyISAM表的表级锁 235

9.2.4 InnoDB表的行级锁 238

9.2.5 “选课系统”中的行级锁 240

9.2.6 InnoDB表的意向锁 242

9.2.7 InnoDB行级锁与索引之间的关系 243

9.2.8 间隙锁与死锁 245

9.2.9 死锁与锁等待 247

9.3 事务的ACID特性 249

9.3.1 事务的ACID特性 249

9.3.2 事务的隔离级别与并发问题 250

9.3.3 设置事务的隔离级别 251

9.3.4 使用间隙锁避免幻读现象 255

9.4 事务与锁机制注意事项257

习题 257

第四篇 综合实训

第10章 网上选课系统的开发 260

10.1 PHP预备知识 260

10.1.1 为何选用B/S结构以及PHP脚本语言 260

10.1.2 PHP脚本语言概述 261

10.1.3 PHP脚本程序的工作流程 262

10.1.4 Web服务器的部署 264

10.1.5 注意事项 266

10.2 软件开发生命周期SDLC 267

10.3 网上选课系统的系统规划 267

10.3.1 网上选课系统的目标 267

10.3.2 网上选课系统的可行性分析 268

10.3.3 网上选课系统的项目进度表 268

10.3.4 网上选课系统的人员分工 269

10.4 网上选课系统的系统分析 269

10.4.1 网上选课系统的功能需求分析 270

10.4.2 网上选课系统的非功能需求分析 272

10.5 网上选课系统的系统设计 272

10.6 网上选课系统的系统实施 274

10.6.1 准备工作 274

10.6.2 制作PHP连接MySQL服务器函数 275

10.6.3 制作PHP权限系统函数 276

10.6.4 首页index.php的开发 277

10.6.5 教师注册模块的开发 278

10.6.6 登录模块的开发 281

10.6.7 注销模块的开发 283

10.6.8 添加班级模块的开发 283

10.6.9 学生注册模块的开发 284

10.6.10 密码重置模块 285

10.6.11 申报课程模块 286

10.6.12 课程列表显示模块 287

10.6.13 审核申报课程 289

10.6.14 取消已审核课程 290

10.6.15 浏览自己申报的课程 290

10.6.16 删除课程 291

10.6.17 学生选修或者调换已经审核的课程 292

10.6.18 查看自己选修的课程 293

10.6.19 取消选修课程 294

10.6.20 查看课程的学生信息列表 295

10.6.21 查看选修人数少于30人的课程信息 296

10.7 界面设计与MVC模式 296

10.8 网上选课系统的测试 298

习题 299

第五篇 MySQL管理及维护

第11章 MySQL日志与事件 302

11.1 MySQL日志 302

11.1.1 数据皆需要缓存 302

11.1.2 MySQL错误日志 303

11.1.3 MySQL普通查询日志 303

11.1.4 MySQL慢查询日志 304

11.1.5 MySQL慢查询日志的查看 305

11.2 二进制日志 307

11.2.1 启动二进制日志 307

11.2.2 二进制日志文件内容的查看 308

11.2.3 获取当前的二进制日志文件及偏移位置 310

11.2.4 使用二进制日志恢复数据库 310

11.2.5 与MySQL二进制日志有关的参数 311

11.2.6 二进制日志的清理 312

11.3 InnoDB事务日志 312

11.4 日志文件的备份 314

11.5 MySQL事件 314

11.5.1 创建MySQL事件 314

11.5.2 开启MySQL事件调度器 316

11.5.3 查看MySQL事件的定义 316

11.5.4 删除MySQL事件的定义 317

习题 317

第12章 MySQL备份与恢复 319

12.1 备份与恢复概述 319

12.1.1 防止数据丢失的方法 319

12.1.2 数据备份概述 320

12.2 逻辑备份与逻辑恢复 321

12.2.1 使用select

12.2.2 恢复表数据 322

12.2.3 使用mysqldump备份数据库 325

12.2.4 逻辑备份综合示例 326

12.2.5 二进制日志恢复数据库的综合示例 327

12.3 物理备份与热备份 329

12.3.1 物理备份的所需文件 329

12.3.2 MyISAM表物理备份、热备份工具 329

12.3.3 InnoDB表物理备份、热备份工具 330

12.3.4 Xtrabackup的工作原理 331

12.3.5 使用Xtrabackup实现完全备份与增量备份 333

12.3.6 使用Xtrabackup实现数据库恢复 333

12.4 MySQL复制(replication) 336

12.4.1 MySQL复制的实现原理 337

12.4.2 MySQL复制的实现 337

12.4.3 复制线程的状态 339

12.4.4 与复制有关的文件 341

12.4.5 复制的配置 342

12.4.6 MySQL复制模式 344

12.4.7 自增型字段冲突问题 345

12.4.8 事件损坏 345

12.4.9 小结 346

12.5 备份策略 346

习题 347

第13章 MySQL安全管理 348

13.1 MySQL安全管理 348

13.2 MySQL账户与权限表 350

13.2.1 grant命令语法格式 350

13.2.2 创建MySQL服务实例级别的账户 351

13.2.3 创建MySQL数据库级别的账户 353

13.2.4 创建MySQL表级别的账户 356

13.2.5 创建MySQL字段级别的账户 357

13.2.6 创建MySQL存储程序级别的账户 359

13.2.7 注意事项 360

13.2.8 host权限表 361

13.3 MySQL账户管理 362

13.3.1 使用createuser创建MySQL账户 362

13.3.2 查看MySQL账户信息 362

13.3.3 删除已有账户 363

13.3.4 修改已有账户的信息 363

13.3.5 MySQL账户的资源次数限制 364

13.3.6 使用更新语句修改MySQL账户信息 365

13.3.7 权限的生效时机 365

13.4 MySQL安全管理的注意事项 365

13.4.1 MySQL账户名重名问题 366

13.4.2 root账号密码丢失问题 368

13.4.3 消除MySQL安全隐患 368

13.4.4 MySQL安全管理的其他注意事项 370

习题 371

第14章 MySQL优化 372

14.1 基础知识 372

14.1.1 影响数据库系统性能的组件 372

14.1.2 参数信息与状态信息 373

14.1.3 缓存机制 373

14.1.4 缓存的分类 374

14.1.5 超时 375

14.2 MySQL连接的优化 377

14.3 缓存的优化 380

14.3.1 查询缓存QueryCache 380

14.3.2 结果集缓存 382

14.3.3 排序缓存 382

14.3.4 join连接缓存 384

14.3.5 表缓存Cache与表结构定义缓存Cache 385

14.3.6 表扫描缓存buffer 387

14.3.7 MyISAM索引缓存buffer 388

14.3.8 日志缓存 390

14.3.9 预读机制 391

14.3.10 延迟更新 393

14.3.11 内存表与临时表 396

14.4 InnoDB优化 398

14.4.1 InnoDB缓存池 398

14.4.2 InnoDB缓存池内部结构 399

14.4.3 InnoDB缓存池预热 400

14.4.4 InnoDB缓存池的状态信息 401

14.4.5 常见的InnoDB参数设置 402

14.4.6 InnoDB实时监控 402

14.5 优化表 403

14.5.1 优化表结构 403

14.5.2 表的拆分 403

14.5.3 分区 404

14.5.4 表分析与表检查 406

14.5.5 NULL值对统计信息的影响 409

14.5.6 记录的格式 409

14.6 SQL语句优化 411

14.6.1 了解SQL的执行频率 411

14.6.2 定位执行效率较低的SQL语句 413

14.6.3 分析select语句 413

14.6.4 索引与select语句 416

14.6.5 分页与select 418

14.6.6 SQL语句其他注意事项 420

14.6.7 profiling性能分析工具 421

14.7 锁资源的优化 422

14.7.1 表级锁资源竞争 422

14.7.2 表级锁资源竞争的解决方案 422

14.7.3 行级锁的资源竞争 423

14.7.4 行级锁资源竞争的解决方案 423

14.7.5 禁用InnoDB间隙锁 424

14.7.6 事务监控与锁监控 424

14.7.7 元数据锁metadatalocks 425

第15章 MySQLCluster 427

15.1 MySQLCluster简介 427

15.1.1 MySQL集群的组成 427

15.1.2 MySQL集群架构 429

15.2 MySQLCluster环境搭建 429

15.2.1 准备工作 429

15.2.2 数据节点的配置 430

15.2.3 SQL节点的配置 431

15.2.4 管理节点的配置 433

15.2.5 MySQL集群的启动 434

15.2.6 集群测试 437

参考文献 439

内容摘要:

内容由浅入深,非常适合自学一个大案例将所有知识点囊括其中注重软件工程在数据库中的应用作为世界上最受欢迎的开源数据库管理系统,MySQL具有成本低廉、体积小、便于安装、性能优越、功能强大等特点,很多企业将MySQL作为首选数据库管理系统。《MySQL核心技术与最佳实践》从关系数据库设计、MySQL基础、MySQL编程、MySQL管理及维护4个角度,深入浅出地对MySQL的核心技术进行了详细的介绍,并通过综合实训提供了MySQL核心技术的最佳实践。  《MySQL核心技术与最佳实践》尽量将抽象问题形象化、具体化,复杂问题图形化、简单化,突出自学和模仿的特点,内容丰富,讲解深入,具有很强的实战性和可操作性。《MySQL核心技术与最佳实践》入门门槛低,适合所有数据库初学者快速入门,非常适合用做培训机构的培训资料。  《MySQL核心技术与最佳实践》内容丰富、讲解深入,非常适合数据库开发人员、数据库管理人员以及其他数据库从业人员阅读,同时也是面向广大数据库爱好者的实用参考书。

书籍规格:

书籍详细信息
书名MySQL核心技术与最佳实践站内查询相似图书
9787115337696
如需购买下载《MySQL核心技术与最佳实践》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)78.0语种简体中文
尺寸26 × 19装帧平装
页数 266 印数 2500

书籍信息归属:

MySQL核心技术与最佳实践是人民邮电出版社于2014.2出版的中图分类号为 TP311.138 的主题关于 关系数据库系统 的书籍。