
| 作者介绍 Paul DuBois是一位作家,一名数据库管理员.同时也是开放源代码和MySQL阵营里的一位旗手。他曾参与过MySQL在线文档的编写工作。除这本书以外,他的主要著作还包括((MySQL and Perl for the Web》、《MySQL Cookbook》、《Using csh and tcsh》以及《Software Portability with imake》等。 .. << 查看详细 |
| 前言 第一部分 mysql基础知识 第1章 mysql和sql入门2 1.1 mysql概述2 1.2 样板数据库5 1.2.1 美国历史研究会6 1.2.2 考试记分项目8 1.2.3 关于样板数据库的说明8 1.3 数据库基本术语9 1.3.1 数据库的组织结构术语9 1.3.2 数据库查询语言术语11 1.3.3 mysql的体系结构术语11 1.4 mysql教程13 1.4.1 获得样板数据库13 1.4.2 最低配置要求14 1.4.3 建立和断开与服务器的连接15 1.4.4 发出查询命令17 1.4.5 创建数据库19 1.4.6 创建数据表20 1.4.7 添加新记录35 .1.4.8 对信息进行检索39 1.4.9 删除或更新现有的数据记录70 1.5 交互式客户程序mysql的使用技巧72 1.5.1 简化连接过程73 1.5.2 减少查询命令的输入75 1.5.3 改变mysql客户程序的提示符78 1.6 今后各章的学习计划79 第2章 mysql数据库里的数据80 2.1 mysql的数据类型81 2.1.1 数值81 2.1.2 字符串(字符)值82 2.1.3 日期和时间值83 2.1.4 null值84 2.2 mysql的数据列类型84 2.2.1 数据列类型概述84 2.2.2 数据表的创建86 2.2.3 数值类数据列类型87 2.2.4 字符串类数据列类型95 2.2.5 日期和时间类数据列类型108 2.3 序列与编号115 2.3.1 isam数据表里的auto_increment 数据列115 2.3.2 myisam数据表里的auto_increment 数据列117 2.3.3 heap数据表里的auto_increment 数据列119 2.3.4 bdb数据表里的auto_increment 数据列119 2.3.5 innodb数据表里的auto_increment 数据列119 2.3.6 使用auto_increment机制时的 注意事项119 2.3.7 强制mysql不要复用已经用过的 序列值120 2.3.8 给数据表增加一个序列编号数据列121 2.3.9 重新编排现有的序列编号121 2.3.10 在不使用auto_increment机制的 情况下生成序列编号122 2.4 mysql对字符集的支持124 2.4.1 mysql 4.1之前版本对字符集 的支持125 2.4.2 mysql 4.1及以后版本对字符集 的支持126 2.5 选择数据列类型128 2.5.1 这个数据列将用来存放哪一种数据130 2.5.2 数据值是否都位于某个区间范围内132 2.5.3 有没有性能和效率方面的问题134 2.5.4 打算如何对有关数据进行比较136 2.5.5 是否要在某个数据列上建立索引136 2.5.6 数据列类型选择问题的内在联系137 2.6 表达式求值与类型转换137 2.6.1 书写表达式138 2.6.2 类型转换145 第3章 mysql sql语法及其使用153 3.1 mysql的命名规则154 3.1.1 数据库组成元素的命名规则155 3.1.2 sql语句对字母大小写的要求157 3.2 数据库的选定、创建、丢弃和变更158 3.2.1 数据库的选定158 3.2.2 数据库的创建158 3.2.3 数据库的丢弃159 3.2.4 数据库的变更159 3.3 数据表的创建、丢弃、索引和变更159 3.3.1 数据表类型159 3.3.2 数据表的创建164 3.3.3 数据表的丢弃171 3.3.4 数据表的索引171 3.3.5 变更数据表的结构176 3.4 获得关于数据库和数据表的信息180 3.4.1 确定mysql服务器所支持的 数据表类型181 3.4.2 检查数据表是否存在及其类型182 3.5 涉及多个数据表的查询操作183 3.5.1 单关联184 3.5.2 全关联184 3.5.3 左关联和右关联186 3.5.4 使用子选择190 3.5.5 涉及多个数据表的union查询193 3.6 涉及多个数据表的删除和修改操作198 3.7 事务处理199 3.7.1 事务处理机制的用途200 3.7.2 事务问题的非事务实现办法201 3.7.3 利用事务处理机制来保证语句的 安全执行203 3.8 外键与引用完整性207 3.9 使用fulltext全文本搜索213 3.10 代码注释218 3.11 mysql不支持的特征219 第4章 查询优化221 4.1 索引的使用221 4.1.1 索引的优点222 4.1.2 索引的缺点224 4.1.3 挑选索引225 4.2 mysql的查询优化程序227 4.2.1 查询优化程序的工作原理228 4.2.2 抑制优化程序给出的方案231 4.3 数据列类型与查询效率232 4.4 更有效地加载数据235 4.5 调度和锁定问题238 4.6 系统管理员所完成的优化241 4.6.1 查询缓存区243 4.6.2 与硬件有关的优化问题245 第二部分 mysql程序设计接口 第5章 mysql程序设计简介248 5.1 为什么要自行编写mysql程序248 5.2 可用于mysql的api251 5.2.1 c api253 5.2.2 perl dbi api254 5.2.3 php api255 5.3 选择api257 5.3.1 运行环境257 5.3.2 性能258 5.3.3 开发周期260 5.3.4 可移植性262 第6章 mysql应用程序设计接口: c语言263 6.1 客户程序的制作流程264 6.1.1 对系统的基本要求264 6.1.2 mysql客户程序的编译和链接264 6.2 客户程序1—连接到服务器266 6.3 客户程序2—增加出错检查功能269 6.4 客户程序3—运行时获取连接参数273 6.4.1 访问选项文件的内容274 6.4.2 处理命令行参数278 6.4.3 把选项处理机制融合到mysql客户 程序里285 6.5 查询的处理289 6.5.1 处理无结果集的查询291 6.5.2 处理有结果集的查询292 6.5.3 一个通用的查询处理程序295 6.5.4 另一种查询处理方案297 6.5.5 mysql_store_result()与mysql_use_result() 函数的对比298 6.5.6 结果集元数据的使用300 6.6 客户程序4——交互式查询程序305 6.7 编写具备ssl支持的客户程序306 6.8 嵌入式mysql服务器程序开发库的使用311 6.8.1 编写一个内建有嵌入式mysql服务器 的应用程序311 6.8.2 生成一个内建有嵌入式mysql服务器 的应用程序可执行二进制文件314 6.9 其他论题314 6.9.1 在结果集上进行计算315 6.9.2 对查询命令中的特殊字符进行编码316 6.9.3 对图像数据进行处理318 6.9.4 获取关于数据表结构的信息320 6.9.5 mysql程序设计工作中的常见错误及 预防办法320 第7章 mysql应用程序设计接口: perl dbi324 7.1 perl语言脚本程序的特点324 7.2 perl dbi概述325 7.2.1 dbi数据类型325 7.2.2 一个简单的dbi脚本326 7.2.3 出错处理331 7.2.4 处理没有结果集的查询334 7.2.5 处理有结果集的查询335 7.2.6 引号问题345 7.2.7 占位符与参数绑定348 7.2.8 把查询结果绑定给脚本变量350 7.2.9 设定mysql服务器连接参数351 7.2.10 调试354 7.2.11 结果集元数据的使用358 7.2.12 用dbi脚本来实现事务处理机制362 7.3 dbi脚本实战364 7.3.1 美国历史研究会:生成会员名录364 7.3.2 美国历史研究会:发出会费催交 通知370 7.3.3 美国历史研究会:编辑会员记录项376 7.3.4 美国历史研究会:查找兴趣相同 的会员381 7.3.5 美国历史研究会:把会员名录 放到网上382 7.4 用dbi模块来开发web应用385 7.4.1 配置apache服务器来使用cgi脚本386 7.4.2 cgi.pm模块简介388 7.4.3 从web脚本连接mysql服务器394 7.4.4 基于web的数据库浏览器397 7.4.5 考试记分项目:考试分数浏览器402 7.4.6 美国历史研究会:查找兴趣相同 的会员405 第8章 mysql应用程序设计接口: php语言410 8.1 php语言概述411 8.1.1 函数与include文件的使用418 8.1.2 一个简单的数据检索页面422 8.1.3 对查询结果进行处理425 8.1.4 返回结果里null值的检测431 8.1.5 出错处理432 8.1.6 引号问题434 8.2 php脚本实战435 8.2.1 考试记分项目:考试分数的录入436 8.2.2 美国历史研究会:总统生平小测验449 8.2.3 美国历史研究会:会员个人资料的在 线修改454 第三部分 mysql系统管理 第9章 mysql系统管理简介464 9.1 管理职责概述464 9.2 日常管理465 9.3 安全问题466 9.4 数据库修复和维护467 第10章 mysql的数据目录468 10.1 数据目录的位置468 10.2 数据目录的结构471 10.2.1 mysql服务器如何提供对数据 的访问472 10.2.2 mysql数据库在文件系统里 如何表示473 10.2.3 mysql数据表在文件系统里 如何表示474 10.2.4 sql语句如何映射为数据表 文件操作475 10.2.5 操作系统对数据库和数据表命名 的限制476 10.2.6 影响数据表最大尺寸的因素478 10.2.7 数据目录的结构对系统性能 的影响479 10.2.8 mysql状态文件和日志文件480 10.3 重新安置数据目录的内容483 10.3.1 重新安置方法483 10.3.2 评估重新安置的效果484 10.3.3 重新安置整个数据目录485 10.3.4 重新安置一个数据库485 10.3.5 重新安置一个数据表487 10.3.6 重新安置innodb表空间487 10.3.7 重新安置状态文件和日志文件488 第11章 mysql数据库系统的日常管理489 11.1 新mysql软件的安全措施489 11.1.1 权限表的初始设置情况是怎样的490 11.1.2 为mysql初始账户设置口令491 11.1.3 为第二个mysql服务器设置口令493 11.2 安排mysql服务器的启动和关闭494 11.2.1 在unix系统上运行mysql服务器494 11.2.2 在windows系统上运行mysql 服务器498 11.2.3 设定mysql服务器的启动选项500 11.2.4 关闭服务器501 11.2.5 在连接不上mysql服务器时重新获得 对服务器的控制502 11.3 管理mysql用户账户504 11.3.1 创建mysql用户账户并进行授权505 11.3.2 收回权限和删除用户514 11.3.3 修改口令或重新设置丢失的口令515 11.4 维护日志文件515 11.4.1 常规查询日志518 11.4.2 慢查询日志518 11.4.3 变更日志518 11.4.4 二进制变更日志和二进制日志 索引文件519 11.4.5 错误日志520 11.4.6 日志文件的失效处理521 11.5 其他mysql服务器配置问题527 11.5.1 对mysql服务器的连接监听情况 进行控制527 11.5.2 激活或者禁用load data语句的 local能力528 11.5.3 国际化和本地化问题528 11.5.4 选择数据表处理程序531 11.5.5 配置innodb表空间532 11.5.6 优化mysql服务器536 11.6 运行多个mysql服务器540 11.6.1 运行多个mysql服务器需要注意 的问题541 11.6.2 配置和编译不同的mysql服务器543 11.6.3 设定mysql服务器启动选项 的策略544 11.6.4 用mysqld_multi脚本来启动多个 mysql服务器545 11.6.5 在windows系统上运行多个 mysql服务器547 11.7 设置镜像服务器549 11.7.1 镜像机制概念549 11.7.2 建立主-从镜像关系550 11.8 升级mysql软件553 第12章 mysql安全技术556 12.1 内部安全性:防止未经授权的文件 系统访问556 12.1.1 如何偷取数据557 12.1.2 保护你的mysql安装程序558 12.2 外部安全性:防止未经授权的 网络访问564 12.2.1 mysql权限表的结构和内容564 12.2.2 mysql服务器如何对客户进行 访问控制571 12.2.3 一个与权限有关的难题576 12.2.4 应该避免的权限表风险579 12.2.5 不用grant语句创建mysql 账户581 12.3 建立加密连接583 第13章 mysql数据库的备份、维护 和修复587 13.1 与mysql服务器进行协调588 13.1.1 使用内部锁定机制防止两个操作 相互干扰589 13.1.2 使用外部锁定机制防止两个操作 相互干扰592 13.2 在灾难发生前做好准备工作593 13.2.1 充分利用mysql服务器的自动 恢复能力593 13.2.2 备份和拷贝数据库594 13.3 数据表修复和数据恢复602 13.3.1 检查和修复数据表602 13.3.2 使用备份恢复数据609 第四部分 附 录 附录a 获得并安装有关软件616 附录b 数据列类型指南633 附录c 操作符与函数用法指南643 附录d sql语法指南694 附录e mysql程序使用指南769 附录f c api指南829 附录g perl dbi api指南864 附录h php api指南891 附录i 挑选isp922 |
商品评论(0条)