当前位置:主页 > 计算机电子书 > > MySQL下载
MySQL技术内幕(第5版)

MySQL技术内幕(第5版) PDF 高清完整版

  • 更新:2024-05-14
  • 大小:209 MB
  • 类别:MySQL
  • 作者:保罗·迪布瓦
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

MySQL技术内幕》第5版作为一本深入浅出的MySQL经典著作,为读者呈现了一个全面细致的MySQL世界,该书不仅覆盖了MySQL数据库的基础知识,更进一步展现了MySQL与其他数据库系统的独特对比与功能特性,极大地丰富了读者对MySQL深层次理解和应用的能力,通过四个精心安排的部分,作者带领读者从基本概念入手,逐步过渡到动手实践MySQL编程,再深入到数据库管理领域,最后以参考附录作为知识补充,确保读者能够在实践中有效地应用MySQL,书中大量的示例和针对C语言、PHP语言及Perl语言开发数据库应用的相关内容,无疑为不同背景的开发者和数据库管理员提供了宝贵的资源,这本书的结构严谨、内容全面,无论是对MySQL初学者还是对于希望进一步提升自己MySQL能力的专业人士,都是一本不可多得的好书。

本书是MySQL方面名副其实的经典著作,全面介绍MySQL的基础知识以及MySQL有别于其他数据库系统的独特功能,书中特别关注如何高效地使用和管理MySQL。

本书由4个部分组成:第一部分集中介绍与数据库使用相关的一些基本概念,第二部分重点关注的是自己如何动手编写和使用MySQL的程序,第三部分主要是面向那些负责数据库管理的读者,第四部分提供了一些参考附录。书中包含大量示例,详尽地演示了MySQL的各项功能特性。此外,本书还为使用C语言、PHP语言和Perl语言开发数据库应用的读者提供了相关内容。

本书不仅适合MySQL初学者阅读,也适合想要深入了解MySQL的数据库管理人员和开发人员参考。

目录

  • 第1章 MySQL入门 1
  • 1.1 MySQL的用途 1
  • 1.2 示例数据库 3
  • 1.2.1 美史联盟项目 4
  • 1.2.2 成绩考评项目 5
  • 1.2.3 如何运用示例数据库 5
  • 1.3 基本数据库术语 6
  • 1.3.1 结构术语 6
  • 1.3.2 查询语言术语 8
  • 1.3.3 MySQL的体系结构术语 8
  • 1.4 MySQL教程 9
  • 1.4.1 获取示例数据库发行包 10
  • 1.4.2 基本配置要求 10
  • 1.4.3 建立和断开MySQL服务器连接 11
  • 1.4.4 执行SQL语句 13
  • 1.4.5 创建数据库 15
  • 1.4.6 创建表 15
  • 1.4.7 添加新行 29
  • 1.4.8 重置sampdb数据库 32
  • 1.4.9 检索信息 33
  • 1.4.10 删除或更新已有行 56
  • 1.5 mysql交互技巧 58
  • 1.5.1 简化连接过程 58
  • 1.5.2 在调用命令时减少打字输入 60
  • 1.6 何去何从 63
  • 第2章 使用SQL管理数据 64
  • 2.1 服务器的SQL模式 65
  • 2.2 MySQL的标识符语法和命名规则 66
  • 2.3 SQL语句的大小写规则 67
  • 2.4 字符集支持 68
  • 2.4.1 指定字符集 69
  • 2.4.2 确定可用字符集和当前设置 70
  • 2.4.3 Unicode支持 71
  • 2.5 数据库的选择、创建、删除和更改 72
  • 2.5.1 选择数据库 72
  • 2.5.2 创建数据库 72
  • 2.5.3 删除数据库 73
  • 2.5.4 更改数据库 73
  • 2.6 表的创建、删除、索引和更改 73
  • 2.6.1 存储引擎的特性 73
  • 2.6.2 创建表 77
  • 2.6.3 删除表 84
  • 2.6.4 索引表 84
  • 2.6.5 更改表结构 88
  • 2.7 获取数据库元数据 90
  • 2.7.1 使用SHOW语句获取元数据 90
  • 2.7.2 借助INFORMATION_SCHEMA获取元数据 92
  • 2.7.3 从命令行获取元数据 94
  • 2.8 使用连接实现多表检索 95
  • 2.8.1 内连接 96
  • 2.8.2 对被连接表里的列引用进行限定 97
  • 2.8.3 左(外)连接和右(外)连接 97
  • 2.9 使用子查询实现多表检索 100
  • 2.9.1 带关系比较运算符的子查询 101
  • 2.9.2 IN和NOT IN子查询 102
  • 2.9.3 ALL、ANY和SOME子查询 103
  • 2.9.4 EXISTS和NOT EXISTS子查询 103
  • 2.9.5 相关子查询 104
  • 2.9.6 FROM子句里的子查询 104
  • 2.9.7 将子查询改写为连接 104
  • 2.10 使用UNION实现多表检索 106
  • 2.11 多表删除和更新 108
  • 2.12 事务处理 110
  • 2.12.1 利用事务保证语句安全执行 111
  • 2.12.2 使用事务保存点 114
  • 2.12.3 事务隔离 114
  • 2.13 外键和引用完整性 116
  • 2.14 使用FULLTEXT搜索 121
  • 2.14.1 自然语言FULLTEXT搜索 122
  • 2.14.2 布尔模式的全文搜索 124
  • 2.14.3 查询扩展全文搜索 125
  • 2.14.4 配置全文搜索引擎 126
  • 第3章 数据类型 127
  • 3.1 数据值类别 128
  • 3.1.1 数值 128
  • 3.1.2 字符串值 129
  • 3.1.3 时态(日期/时间)值 136
  • 3.1.4 空间值 136
  • 3.1.5 布尔值 136
  • 3.1.6 NULL值 136
  • 3.2 MySQL数据类型 137
  • 3.2.1 数据类型概述 137
  • 3.2.2 表定义里的特殊列类型 138
  • 3.2.3 指定列的默认值 139
  • 3.2.4 数字数据类型 140
  • 3.2.5 字符串数据类型 145
  • 3.2.6 时态(日期/时间)数据类型 156
  • 3.3 MySQL如何处理无效数据值 163
  • 3.4 处理序列 164
  • 3.4.1 通用的AUTO_INCREMENT属性 164
  • 3.4.2 存储引擎特有的AUTO_INCREMENT属性 166
  • 3.4.3 使用AUTO_INCREMENT列需要考虑的问题 168
  • 3.4.4 AUTO_INCREMENT列的使用提示 168
  • 3.4.5 在无AUTO_INCREMENT的情况下生成序列 170
  • 3.5 表达式计算和类型转换 171
  • 3.5.1 编写表达式 172
  • 3.5.2 类型转换 177
  • 3.6 选择数据类型 183
  • 3.6.1 列要存放什么类型的值 184
  • 3.6.2 所有值是否都在某个特定的区间内 186
  • 第4章 视图和存储程序 188
  • 4.1 使用视图 189
  • 4.2 使用存储程序 191
  • 4.2.1 复合语句和语句分隔符 191
  • 4.2.2 存储函数和存储过程 193
  • 4.2.3 触发器 196
  • 4.2.4 事件 197
  • 4.3 视图和存储程序的安全性 199
  • 第5章 查询优化 200
  • 5.1 使用索引 200
  • 5.1.1 索引的优点 201
  • 5.1.2 索引的代价 203
  • 5.1.3 挑选索引 203
  • 5.2 MySQL查询优化程序 206
  • 5.2.1 查询优化程序的工作原理 207
  • 5.2.2 使用EXPLAIN检查优化程序的操作 209
  • 5.3 选择利于高效查询的数据类型 214
  • 5.4 选择利于高效查询的表存储格式 216
  • 5.5 高效加载数据 217
  • 5.6 调度、锁定和并发 219
  • 第6章 MySQL程序设计入门 221
  • 6.1 为何要自己编写MySQL程序 221
  • 6.2 MySQL提供的API 223
  • 6.2.1 C语言API 224
  • 6.2.2 Perl语言DBI API 224
  • 6.2.3 PHP语言API 225
  • 6.3 选择API 226
  • 6.3.1 执行环境 227
  • 6.3.2 性能 227
  • 6.3.3 开发时间 228
  • 6.3.4 可移植性 228
  • 第7章 用C语言编写MySQL程序 230
  • 7.1 编译和链接客户端程序 231
  • 7.2 连接服务器 233
  • 7.3 出错处理和命令选项处理 236
  • 7.3.1 出错检查 236
  • 7.3.2 实时获取连接参数 239
  • 7.3.3 把选项处理整合进客户端程序 248
  • 7.4 处理SQL语句 252
  • 7.4.1 处理那些修改行的语句 253
  • 7.4.2 处理那些返回结果集的语句 254
  • 7.4.3 通用的语句处理器 256
  • 7.4.4 另一种语句处理方法 257
  • 7.4.5 mysql_store_result()与mysql_use_result()的对比 258
  • 7.4.6 使用结果集元数据 260
  • 7.4.7 对特殊字符和二进制数据进行编码 264
  • 7.5 交互式语句执行程序 267
  • 7.6 编写支持SSL的客户端程序 268
  • 7.7 一次执行多条语句 272
  • 7.8 使用服务器端预处理语句 273
  • 7.9 使用预处理CALL支持 282
  • 第8章 用Perl DBI编写MySQL程序 286
  • 8.1 Perl脚本的特点 286
  • 8.2 Perl DBI概述 287
  • 8.2.1 DBI数据类型 287
  • 8.2.2 一个简单的DBI脚本 288
  • 8.2.3 出错处理 291
  • 8.2.4 处理那些修改行的语句 294
  • 8.2.5 处理那些返回结果集的语句 295
  • 8.2.6 在语句串里引用特殊字符 302
  • 8.2.7 占位符与预处理语句 305
  • 8.2.8 把查询结果绑定到脚本变量 307
  • 8.2.9 指定连接参数 307
  • 8.2.10 调试 310
  • 8.2.11 使用结果集元数据 312
  • 8.2.12 执行事务 316
  • 8.3 DBI脚本实践 317
  • 8.3.1 生成美史联盟成员名录 317
  • 8.3.2 发送成员资格更新通知 322
  • 8.3.3 编辑美史联盟成员条目 326
  • 8.3.4 寻找志趣相投的联盟成员 331
  • 8.3.5 把美史联盟成员名录放到网上 332
  • 8.4 使用DBI来开发Web应用程序 334
  • 8.4.1 配置Apache服务器来处理CGI脚本 335
  • 8.4.2 CGI.pm模块简介 336
  • 8.4.3 从Web脚本连接MySQL服务器 342
  • 8.4.4 基于Web的数据库浏览器 343
  • 8.4.5 成绩考评项目:分数浏览器 347
  • 8.4.6 美史联盟:搜索志趣相投的成员 350
  • 第9章 用PHP语言编写MySQL程序 354
  • 9.1 PHP概述 355
  • 9.1.1 一个简单的PHP脚本 357
  • 9.1.2 利用PHP库文件实现代码封装 359
  • 9.1.3 简单的数据检索页面 363
  • 9.1.4 处理语句结果 365
  • 9.1.5 测试查询结果里的NULL值 368
  • 9.1.6 使用预处理语句 369
  • 9.1.7 利用占位符来处理数据引号问题 369
  • 9.1.8 出错处理 371
  • 9.2 PHP脚本实战 372
  • 9.2.1 一个在线录入分数的应用程序 373
  • 9.2.2 创建交互式的在线测验 382
  • 9.2.3 在线编辑美史联盟成员信息 386
  • 第10章 MySQL管理简介 393
  • 10.1 MySQL组件 393
  • 10.3 访问控制与安全性 395
  • 10.4 数据库维护、备份和复制 395
  • 第11章 MySQL数据目录 397
  • 11.1 数据目录位置 397
  • 11.2 数据目录结构 398
  • 11.2.1 MySQL服务器提供的数据访问方式 399
  • 11.2.2 数据库在文件系统里的表示 400
  • 11.2.3 表在文件系统里的表示 400
  • 11.2.4 视图和触发器在文件系统里的表示 401
  • 11.2.5 SQL语句与表文件操作的对应关系 401
  • 11.2.6 操作系统对数据库对象名字的约束 402
  • 11.2.7 影响表最大长度的因素 403
  • 11.2.8 数据目录结构对系统性能的影响 404
  • 11.2.9 MySQL状态文件和日志文件 405
  • 11.3 迁移数据目录的内容 407
  • 11.3.1 迁移方法 407
  • 11.3.2 迁移注意事项 408
  • 11.3.3 评估迁移带来的影响 408
  • 11.3.4 迁移整个数据目录 409
  • 11.3.5 迁移单个数据库 409
  • 11.3.6 迁移单个表 409
  • 11.3.7 迁移InnoDB系统表空间 410
  • 11.3.8 迁移状态文件和日志文件 410
  • 第12章 MySQL的基本管理 412
  • 12.1 保护新安装的MySQL 412
  • 12.1.1 为初始的MySQL账户建立密码 413
  • 12.1.2 为附加服务器设置密码 416
  • 12.2 安排MySQL服务器的启动和关闭 416
  • 12.2.1 在Unix里运行MySQL服务器 417
  • 12.2.2 在Windows里运行MySQL服务器 420
  • 12.2.3 指定服务器启动选项 422
  • 12.2.4 控制服务器的连接监听 423
  • 12.2.5 停止服务器 424
  • 12.2.6 当你无法连接服务器时重新获得对它的控制 425
  • 12.3 使用系统变量和状态变量 426
  • 12.3.1 查看和设置系统变量值 427
  • 12.3.2 查看状态变量值 430
  • 12.4 插件接口 431
  • 12.5 存储引擎配置 433
  • 12.5.1 选择存储引擎 433
  • 12.5.2 选择默认存储引擎 434
  • 12.5.3 配置InnoDB存储引擎 435
  • 12.6 全球化问题 440
  • 12.6.1 配置时区支持 440
  • 12.6.2 选择默认字符集和排序规则 441
  • 12.6.3 选择出错信息的显示语言 442
  • 12.6.4 选择区域设置 442
  • 12.7 服务器调整 442
  • 12.7.1 用于服务器调整的通用型系统变量 443
  • 12.7.2 存储引擎调整 445
  • 12.7.3 使用查询缓存 449
  • 12.7.4 硬件优化 450
  • 12.8 服务器日志 451
  • 12.8.1 出错日志 453
  • 12.8.2 普通查询日志 454
  • 12.8.3 慢查询日志 454
  • 12.8.4 二进制日志 455
  • 12.8.5 中继日志 456
  • 12.8.6 使用日志表 456
  • 12.8.7 日志管理 457
  • 12.9 运行多个服务器 462
  • 12.9.1 运行多个服务器的常见问题 462
  • 12.9.2 配置和编译不同的服务器 464
  • 12.9.3 指定启动选项的策略 465
  • 12.9.4 使用mysqld_multi来管理服务器 466
  • 12.9.5 在Windows里运行多个服务器 468
  • 12.9.6 运行多个服务器的客户端 469
  • 12.10 升级MySQL 469
  • 第13章 安全性与访问控制 471
  • 13.1 保护对MySQL文件系统的访问 472
  • 13.1.1 如何窃取数据 472
  • 13.1.2 保护MySQL安装 473
  • 13.2 管理MySQL用户账户 477
  • 13.2.1 MySQL账户的高级管理 479
  • 13.2.2 权限分配 482
  • 13.2.3 显示账户权限 490
  • 13.2.4 撤销权限 490
  • 13.2.5 更改密码或重置丢失的密码 491
  • 13.2.6 避免访问控制风险 491
  • 13.2.7 插入式身份认证和代理用户 494
  • 13.3 权限表结构和内容 496
  • 13.3.1 权限表访问范围列 498
  • 13.3.2 权限表权限列 498
  • 13.3.3 权限表身份认证列 499
  • 13.3.4 权限表SSL相关列 499
  • 13.3.5 权限表资源管理列 500
  • 13.4 服务器如何控制客户端访问 500
  • 13.4.1 访问范围列的内容 500
  • 13.4.2 语句访问验证 502
  • 13.4.3 访问范围列匹配顺序 503
  • 13.4.4 权限难题 503
  • 13.5 使用SSL建立安全连接 506
  • 第14章 数据库维护、备份和复制 510
  • 14.1 预防性维护的基本原则 510
  • 14.2 在服务器运行时维护数据库 511
  • 14.2.1 为只读或读/写访问锁定单个表 512
  • 14.2.2 为只读访问锁定所有数据库 514
  • 14.3 基本的预防性维护 514
  • 14.3.1 运用服务器的自动恢复功能 514
  • 14.3.2 制订预防性维护计划 515
  • 14.4 数据库备份 516
  • 14.4.1 存储引擎的可移植特点 517
  • 14.4.2 用mysqldump程序制作文本备份 518
  • 14.4.3 制作二进制数据库备份 521
  • 14.4.4 备份InnoDB表 522
  • 14.5 将数据库复制到另一个服务器 522
  • 14.5.1 使用备份文件来复制数据库 523
  • 14.5.2 将数据库从一个服务器复制到另一个 523
  • 14.6 检查和修复数据库表 524
  • 14.6.1 使用CHECK TABLE检查表 525
  • 14.6.2 使用REPAIR TABLE修复表 525
  • 14.6.3 使用mysqlcheck检查修复表 525
  • 14.7 使用备份来恢复数据 526
  • 14.7.1 恢复整个数据库 527
  • 14.7.2 恢复单个表 527
  • 14.7.3 重新执行二进制日志文件里的语句 528
  • 14.7.4 应对InnoDB的自动恢复问题 529
  • 14.8 设置复制服务器 530
  • 14.8.1 复制的工作原理 530
  • 14.8.2 建立主从复制关系 531
  • 14.8.3 二进制日志格式 533
  • 14.8.4 使用复制从服务器来制作备份 534
  • 附录A 本书所需要的各类软件 535
  • 附录B 数据类型参考 543
  • 附录C 操作符与函数参考 555
  • 附录D 系统变量、状态变量和用户变量参考 608
  • 附录E SQL语法参考 651
  • 附录F MySQL程序参考 721

资源下载

资源下载地址1:https://pan.baidu.com/s/1XNpSgDmOM78DREhISLEc6g

相关资源

网友留言