分类:数据库
语言:简体中文
大小:未知
发布时间:13-04-09
内容简介:MySQL 是基于SQL的客户/服务器模式的关系数据库管理系统,它具有功能强大、使用简单、管理方便、运行速度快、安全可靠性强等优点,特别适用于Web站点或应用软件的数据库后端的开发工作。另外,用户可利用许多语言编写访问MySQL数据库的程序。本书通过两个样板数据库,详细介绍了MySQL的基本概念、基本技巧、编程方法、管理特点以及第三方工具(如PHP和Perl)的使用方法。第2版保留了第1版的优点,同时增加了MySQL 4.0.1和相关编程语言接口的最新信息。 本书内容完善、条理清晰,适合数据库、网络开发与管理等人员参考。 作为开放源代码运动的产物之一,MySQL关系数据库管理系统越来越受到人们的青睐,应用范围也越来越广。闻名遐迩的速度和易用性使MySQL特别适用于Web站点或应用软件的数据库后端的开发工作。 如果你想高效且富有成果地使用MySQL.就应该好好读读本书。本书对以下几个方面进行了全面细致的讨论:如何建立MySQL数据库、如何把MySQL与PHP或Perl结合起来以生成动态的Web网页,如何管理MySQL服务器。 “在我曾阅读过的各种技术论著中,这本书是最好的技术书籍之一。” ——C&C++用户联合会,《C Vu》杂志主编Gregory Haley “对于这本用户指南加参考手册形式的著作。我只能用‘无出其右’来形容。我的结论是:在MySQL数据库的日常使用和维护方面,只要有了这本书就可以高枕无忧了。” ——《Web Techniques》杂志主编Eugene Kim 学习网www.minxue.net下载地址分流地址:[MySQL权威指南(原书第2版)].杨涛等.扫描版.pdf内容截图:
前言第一部分 mysql基础知识第1章 mysql和sql入门 21.1 mysql概述 21.2 样板数据库 51.2.1 美国历史研究会 61.2.2 考试记分项目 81.2.3 关于样板数据库的说明 81.3 数据库基本术语 91.3.1 数据库的组织结构术语 91.3.2 数据库查询语言术语 111.3.3 mysql的体系结构术语 111.4 mysql教程 131.4.1 获得样板数据库 131.4.2 最低配置要求 141.4.3 建立和断开与服务器的连接 151.4.4 发出查询命令 171.4.5 创建数据库 191.4.6 创建数据表 201.4.7 添加新记录 35.1.4.8 对信息进行检索 391.4.9 删除或更新现有的数据记录 701.5 交互式客户程序mysql的使用技巧 721.5.1 简化连接过程 731.5.2 减少查询命令的输入 751.5.3 改变mysql客户程序的提示符 781.6 今后各章的学习计划 79第2章 mysql数据库里的数据 802.1 mysql的数据类型 812.1.1 数值 812.1.2 字符串(字符)值 822.1.3 日期和时间值 832.1.4 null值 842.2 mysql的数据列类型 842.2.1 数据列类型概述 842.2.2 数据表的创建 862.2.3 数值类数据列类型 872.2.4 字符串类数据列类型 952.2.5 日期和时间类数据列类型 1082.3 序列与编号 1152.3.1 isam数据表里的auto_increment数据列 1152.3.2 myisam数据表里的auto_increment数据列 1172.3.3 heap数据表里的auto_increment数据列 1192.3.4 bdb数据表里的auto_increment数据列 1192.3.5 innodb数据表里的auto_increment数据列 1192.3.6 使用auto_increment机制时的注意事项 1192.3.7 强制mysql不要复用已经用过的序列值 1202.3.8 给数据表增加一个序列编号数据列 1212.3.9 重新编排现有的序列编号 1212.3.10 在不使用auto_increment机制的情况下生成序列编号 1222.4 mysql对字符集的支持 1242.4.1 mysql 4.1之前版本对字符集的支持 1252.4.2 mysql 4.1及以后版本对字符集的支持 1262.5 选择数据列类型 1282.5.1 这个数据列将用来存放哪一种数据 1302.5.2 数据值是否都位于某个区间范围内 1322.5.3 有没有性能和效率方面的问题 1342.5.4 打算如何对有关数据进行比较 1362.5.5 是否要在某个数据列上建立索引 1362.5.6 数据列类型选择问题的内在联系 1372.6 表达式求值与类型转换 1372.6.1 书写表达式 1382.6.2 类型转换 145第3章 mysql sql语法及其使用 1533.1 mysql的命名规则 1543.1.1 数据库组成元素的命名规则 1553.1.2 sql语句对字母大小写的要求 1573.2 数据库的选定、创建、丢弃和变更 1583.2.1 数据库的选定 1583.2.2 数据库的创建 1583.2.3 数据库的丢弃 1593.2.4 数据库的变更 1593.3 数据表的创建、丢弃、索引和变更 1593.3.1 数据表类型 1593.3.2 数据表的创建 1643.3.3 数据表的丢弃 1713.3.4 数据表的索引 1713.3.5 变更数据表的结构 1763.4 获得关于数据库和数据表的信息 1803.4.1 确定mysql服务器所支持的数据表类型 1813.4.2 检查数据表是否存在及其类型 1823.5 涉及多个数据表的查询操作 1833.5.1 单关联 1843.5.2 全关联 1843.5.3 左关联和右关联 1863.5.4 使用子选择 1903.5.5 涉及多个数据表的union查询 1933.6 涉及多个数据表的删除和修改操作 1983.7 事务处理 1993.7.1 事务处理机制的用途 2003.7.2 事务问题的非事务实现办法 2013.7.3 利用事务处理机制来保证语句的安全执行 2033.8 外键与引用完整性 2073.9 使用fulltext全文本搜索 2133.10 代码注释 2183.11 mysql不支持的特征 219第4章 查询优化 2214.1 索引的使用 2214.1.1 索引的优点 2224.1.2 索引的缺点 2244.1.3 挑选索引 2254.2 mysql的查询优化程序 2274.2.1 查询优化程序的工作原理 2284.2.2 抑制优化程序给出的方案 2314.3 数据列类型与查询效率 2324.4 更有效地加载数据 2354.5 调度和锁定问题 2384.6 系统管理员所完成的优化 2414.6.1 查询缓存区 2434.6.2 与硬件有关的优化问题 245第二部分 mysql程序设计接口第5章 mysql程序设计简介 2485.1 为什么要自行编写mysql程序 2485.2 可用于mysql的api 2515.2.1 c api 2535.2.2 perl dbi api 2545.2.3 php api 2555.3 选择api 2575.3.1 运行环境 2575.3.2 性能 2585.3.3 开发周期 2605.3.4 可移植性 262第6章 mysql应用程序设计接口:c语言 2636.1 客户程序的制作流程 2646.1.1 对系统的基本要求 2646.1.2 mysql客户程序的编译和链接 2646.2 客户程序1—连接到服务器 2666.3 客户程序2—增加出错检查功能 2696.4 客户程序3—运行时获取连接参数 2736.4.1 访问选项文件的内容 2746.4.2 处理命令行参数 2786.4.3 把选项处理机制融合到mysql客户程序里 2856.5 查询的处理 2896.5.1 处理无结果集的查询 2916.5.2 处理有结果集的查询 2926.5.3 一个通用的查询处理程序 2956.5.4 另一种查询处理方案 2976.5.5 mysql_store_result()与mysql_use_result()函数的对比 2986.5.6 结果集元数据的使用 3006.6 客户程序4——交互式查询程序 3056.7 编写具备ssl支持的客户程序 3066.8 嵌入式mysql服务器程序开发库的使用 3116.8.1 编写一个内建有嵌入式mysql服务器的应用程序 3116.8.2 生成一个内建有嵌入式mysql服务器的应用程序可执行二进制文件 3146.9 其他论题 3146.9.1 在结果集上进行计算 3156.9.2 对查询命令中的特殊字符进行编码 3166.9.3 对图像数据进行处理 3186.9.4 获取关于数据表结构的信息 3206.9.5 mysql程序设计工作中的常见错误及预防办法 320第7章 mysql应用程序设计接口:perl dbi 3247.1 perl语言脚本程序的特点 3247.2 perl dbi概述 3257.2.1 dbi数据类型 3257.2.2 一个简单的dbi脚本 3267.2.3 出错处理 3317.2.4 处理没有结果集的查询 3347.2.5 处理有结果集的查询 3357.2.6 引号问题 3457.2.7 占位符与参数绑定 3487.2.8 把查询结果绑定给脚本变量 3507.2.9 设定mysql服务器连接参数 3517.2.10 调试 3547.2.11 结果集元数据的使用 3587.2.12 用dbi脚本来实现事务处理机制 3627.3 dbi脚本实战 3647.3.1 美国历史研究会:生成会员名录 3647.3.2 美国历史研究会:发出会费催交通知 3707.3.3 美国历史研究会:编辑会员记录项 3767.3.4 美国历史研究会:查找兴趣相同的会员 3817.3.5 美国历史研究会:把会员名录放到网上 3827.4 用dbi模块来开发web应用 3857.4.1 配置apache服务器来使用cgi脚本 3867.4.2 cgi.pm模块简介 3887.4.3 从web脚本连接mysql服务器 3947.4.4 基于web的数据库浏览器 3977.4.5 考试记分项目:考试分数浏览器 4027.4.6 美国历史研究会:查找兴趣相同的会员 405第8章 mysql应用程序设计接口:php语言 4108.1 php语言概述 4118.1.1 函数与include文件的使用 4188.1.2 一个简单的数据检索页面 4228.1.3 对查询结果进行处理 4258.1.4 返回结果里null值的检测 4318.1.5 出错处理 4328.1.6 引号问题 4348.2 php脚本实战 4358.2.1 考试记分项目:考试分数的录入 4368.2.2 美国历史研究会:总统生平小测验 4498.2.3 美国历史研究会:会员个人资料的在线修改 454第三部分 mysql系统管理第9章 mysql系统管理简介 4649.1 管理职责概述 4649.2 日常管理 4659.3 安全问题 4669.4 数据库修复和维护 467第10章 mysql的数据目录 46810.1 数据目录的位置 46810.2 数据目录的结构 47110.2.1 mysql服务器如何提供对数据的访问 47210.2.2 mysql数据库在文件系统里如何表示 47310.2.3 mysql数据表在文件系统里如何表示 47410.2.4 sql语句如何映射为数据表文件操作 47510.2.5 操作系统对数据库和数据表命名的限制 47610.2.6 影响数据表最大尺寸的因素 47810.2.7 数据目录的结构对系统性能的影响 47910.2.8 mysql状态文件和日志文件 48010.3 重新安置数据目录的内容 48310.3.1 重新安置方法 48310.3.2 评估重新安置的效果 48410.3.3 重新安置整个数据目录 48510.3.4 重新安置一个数据库 48510.3.5 重新安置一个数据表 48710.3.6 重新安置innodb表空间 48710.3.7 重新安置状态文件和日志文件 488第11章 mysql数据库系统的日常管理 48911.1 新mysql软件的安全措施 48911.1.1 权限表的初始设置情况是怎样的 49011.1.2 为mysql初始账户设置口令 49111.1.3 为第二个mysql服务器设置口令 49311.2 安排mysql服务器的启动和关闭 49411.2.1 在unix系统上运行mysql服务器 49411.2.2 在windows系统上运行mysql服务器 49811.2.3 设定mysql服务器的启动选项 50011.2.4 关闭服务器 50111.2.5 在连接不上mysql服务器时重新获得对服务器的控制 50211.3 管理mysql用户账户 50411.3.1 创建mysql用户账户并进行授权 50511.3.2 收回权限和删除用户 51411.3.3 修改口令或重新设置丢失的口令 51511.4 维护日志文件 51511.4.1 常规查询日志 51811.4.2 慢查询日志 51811.4.3 变更日志 51811.4.4 二进制变更日志和二进制日志索引文件 51911.4.5 错误日志 52011.4.6 日志文件的失效处理 52111.5 其他mysql服务器配置问题 52711.5.1 对mysql服务器的连接监听情况进行控制 52711.5.2 激活或者禁用load data语句的local能力 52811.5.3 国际化和本地化问题 52811.5.4 选择数据表处理程序 53111.5.5 配置innodb表空间 53211.5.6 优化mysql服务器 53611.6 运行多个mysql服务器 54011.6.1 运行多个mysql服务器需要注意的问题 54111.6.2 配置和编译不同的mysql服务器 54311.6.3 设定mysql服务器启动选项的策略 54411.6.4 用mysqld_multi脚本来启动多个mysql服务器 54511.6.5 在windows系统上运行多个mysql服务器 54711.7 设置镜像服务器 54911.7.1 镜像机制概念 54911.7.2 建立主-从镜像关系 55011.8 升级mysql软件 553第12章 mysql安全技术 55612.1 内部安全性:防止未经授权的文件系统访问 55612.1.1 如何偷取数据 55712.1.2 保护你的mysql安装程序 55812.2 外部安全性:防止未经授权的网络访问 56412.2.1 mysql权限表的结构和内容 56412.2.2 mysql服务器如何对客户进行访问控制 57112.2.3 一个与权限有关的难题 57612.2.4 应该避免的权限表风险 57912.2.5 不用grant语句创建mysql账户 58112.3 建立加密连接 583第13章 mysql数据库的备份、维护和修复 58713.1 与mysql服务器进行协调 58813.1.1 使用内部锁定机制防止两个操作相互干扰 58913.1.2 使用外部锁定机制防止两个操作相互干扰 59213.2 在灾难发生前做好准备工作 59313.2.1 充分利用mysql服务器的自动恢复能力 59313.2.2 备份和拷贝数据库 59413.3 数据表修复和数据恢复 60213.3.1 检查和修复数据表 60213.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 挑选isp 922
...