书籍详情

MySQL权威指南

MySQL权威指南

作者:(美)Paul DuBois著;杨涛 等译

出版社:机械工业出版社

出版时间:2004-01-01

ISBN:9787111134770

定价:¥98.00

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

读书导航