目录
         前言  1
         第1章 客户端程序mysql  17
         1.0 概述  17
         1.1 设置MySQL用户账号  18
         1.2 创建数据库和示例表  20
         1.3 找不到mysql  22
         1.4 指定mysql的命令选项  24
         1.5 以交互的方式执行SQL语句  29
         1.6 执行从文件或程序中读取的SQL语句  31
         1.7 控制mysql输出的路径和格式  33
         1.8 在SQL语句中使用用户定义的变量  39
         第2章 编写基于MySQL的程序  42
         2.0 概述  42
         2.1 连接数据库与断开连接  45
         2.2 检查错误  59
         2.3 编写库文件  67
         2.4 执行语句并获取结果  81
         2.5 处理语句中的特殊字符和NULL值  96
         2.6 处理标识符中的特殊字符  105
         2.7 识别结果集中的NULL值  107
         2.8 获取连接参数  111
         2.9 结论和建议  120
         第3章 从表中查询数据  121
         3.0 概述  121
         3.1 指定查询的行与列  122
         3.2 指定查询结果中列的别名  124
         3.3 查询结果排序  128
         3.4 过滤重复行  129
         3.5 处理NULL值  131
         3.6 在程序中比较NULL值  133
         3.7 通过视图简化查询  134
         3.8 多表查询  135
         3.9 截取查询结果的开头、末尾或中间部分  137
         3.10 当LIMIT要求“错误”的排序时该怎么办  141
         3.11 利用表达式计算LIMIT值  142
         第4章 表管理  144
         4.0 概述  144
         4.1 克隆表  144
         4.2 将查询结果保存到表中  145
         4.3 创建临时表  148
         4.4 生成唯一的表名  150
         4.5 检查或更改表的存储引擎  152
         4.6 通过mysqldump复制表  153
         第5章 字符串  156
         5.0 概述  156
         5.1 字符串的属性  157
         5.2 字符串的数据类型  161
         5.3 设置客户端连接的字符集  163
         5.4 字符串字面量的定义  165
         5.5 检查或更改字符串的字符集或排序规则  167
         5.6 转换字符串的大小写  170
         5.7 控制字符串比较中的大小写敏感度  172
         5.8 利用SQL模式进行模式匹配  175
         5.9 使用正则表达式进行模式匹配  178
         5.10 分割或连接字符串  182
         5.11 搜索子字符串  185
         5.12 设置MySQL用户账号  186
         5.13 用短语进行全文检索  191
         5.14 全文检索中必须出现或禁止出现的词  193
         5.15 全文检索的词组查找  194
         第6章 日期与时间  196
         6.0 概述  196
         6.1 选择时间数据类型  197
         6.2 使用小数秒支持  199
         6.3 更改MySQL的日期格式  200
         6.4 设置客户端时区  204
         6.5 切换日期时间值的时区  206
         6.6 获取当前的日期或时间  207
         6.7 使用TIMESTAMP或DATETIME追踪行的修改时间  208
         6.8 提取日期或时间值的各部分  211
         6.9 合成日期或时间值  216
         6.10 时间值和基本单位之间的转换  218
         6.11 计算日期或时间之间的间隔  222
         6.12 日期或时间值的加法运算  227
         6.13 计算年龄  232
         6.14 查询一个月的第一天、最后一天或当月的天数  234
         6.15 通过子字符串替换来计算日期  236
         6.16 计算星期  238
         6.17 查询某周中某天的日期  238
         6.18 计算闰年  241
         6.19 规范化非ISO格式的日期字符串  245
         6.20 基于时间特征的查询  246
         第7章 查询结果的排序  250
         7.0 概述  250
         7.1 通过ORDER BY对查询结果排序  251
         7.2 利用表达式进行排序  255
         7.3 查询结果中不包含排序列  256
         7.4 控制字符串排序的大小写区分  260
         7.5 日期排序  263
         7.6 利用列值的子字符串排序  267
         7.7 利用固定长度的子字符串排序  268
         7.8 利用可变长度的子字符串排序  271
         7.9 按域名顺序排列主机名  276
         7.10 按数字顺序排序用点分割的IP值  278
         7.11 将值移动到排序结果的开头或最后  281
         7.12 自定义排序  284
         7.13 枚举值的排序  285
         第8章 汇总数据  289
         8.0 概述  289
         8.1 基本的汇总技巧  291
         8.2 通过创建视图简化汇总  298
         8.3 查找与最小值和最大值相关的值  298
         8.4 控制MIN()和MAX()是否区分字符串大小写  300
         8.5 按子群汇总  302
         8.6 汇总与NULL值  306
         8.7 仅选择具有特定特征的组  309
         8.8 通过计数来确定值是否唯一  310
         8.9 按表达式结果分组  311
         8.10 汇总非分类数据  312
         8.11 查找最小或最大的汇总值  315
         8.12 基于日期的汇总  317
         8.13 同时使用分组和总体的汇总值  319
         8.14 生成包含汇总和列表的报告  322
         第9章 存储例程,触发器和计划事件  326
         9.0 概述  326
         9.1 创建复合语句对象  329
         9.2 利用存储函数封装计算  331
         9.3 通过存储过程返回多个值  333
         9.4 利用触发器动态设置列的默认值  334
         9.5 利用触发器模拟基于函数的索引  336
         9.6 在其他日期和时间类型中模拟TIMESTAMP属性  339
         9.7 利用触发器记录变更  341
         9.8 使用事件来计划数据库操作  344
         9.9 编写辅助例程动态执行SQL  346
         9.10. 处理存储程序中的错误  347
         9.11 利用触发器预处理或拒绝数据  351
         第10章 元数据  354
         10.0 概述  354
         10.1 获取受语句影响的行数  356
         10.2 获取结果集的元数据  359
         10.3 确认语句是否会生成结果集  369
         10.4 使用元数据来格式化查询输出  369
         10.5 查看数据库和表或检查其存在性  373
         10.6 访问列的定义  375
         10.7 获取ENUM和SET列的信息  380
         10.8 获取服务器的元数据  382
         10.9 编写适合MySQL服务器版本的应用程序  383
         第11章 导入和导出数据  386
         11.0 概述  386
         11.1 使用LOAD DATA和mysqlimport导入数据  390
         11.2 导入CSV文件  401
         11.3 导出MySQL的查询结果  402
         11.4 导入和导出NULL值  404
         11.5 编写数据导出程序  406
         11.6 数据文件格式的转换  411
         11.7 提取并重新排列数据文件的列  412
         11.8 MySQL和Microsoft Excel之间的数据交换  415
         11.9 以XML的格式导出查询结果  417
         11.10 将XML导入到MySQL中  420
         11.11 猜测数据文件中的表结构  423
         第12章 验证与格式化数据  427
         12.0 概述  427
         12.1 通过SQL模式拒绝错误的输入值  428
         12.2 验证和转换数据  430
         12.3 使用模式匹配来验证数据  433
         12.4 使用模式匹配广泛的内容类型  436
         12.5 使用模式匹配数字值  436
         12.6 使用模式匹配日期或时间  438
         12.7 使用模式匹配电子邮件地址或URL  442
         12.8 使用表的元数据验证数据  443
         12.9 使用查找表验证数据  447
         12.10 将两位数的年份值转换成四位数的形式  449
         12.11 检查日期或时间各部分的有效性  451
         12.12 编写处理日期的工具程序  453
         12.13 导入非ISO格式的日期值  459
         12.14 使用非ISO格式导出日期  460
         12.15 后记  461
         第13章 序列  463
         13.0 概述  463
         13.1 创建自增列并生成序列值  464
         13.2 序列的定义  467
         13.3 行的删除对序列造成的影响  469
         13.4 设置MySQL用户账号  471
         13.5 重新编号现有的序列  475
         13.6 扩展序列的范围  477
         13.7 重用序列的最大值  478
         13.8 按特定的顺序给行重新编号  479
         13.9 添加序列  480
         13.10 同时管理多个自动增加的值  481
         13.11 通过自动增量值关联表  482
         13.12 将序列作为计数器  485
         13.13 生成重复序列  488
         第14章 连接与子查询  490
         14.0 概述  490
         14.1 表之间的结合  491
         14.2 查找表之间不匹配的行  499
         14.3 识别并删除不匹配或独立存在的行  504
         14.4 表的自我比较  507
         14.5 生成主从复合结构列表和汇总  511
         14.6 列举多对多的关系  515
         14.7 查找每组的最小值或最大值  518
         14.8 利用连接填充或找出列表中的缺口  521
         14.9 利用Join控制查询的排序  524
         14.10 在程序中引用连接输出的列名  526
         第15章 统计技术  528
         15.0 概述  528
         15.1 计算描述性统计  529
         15.2 分组描述性统计  533
         15.3 生成频率分布  534
         15.4 统计缺失的值  537
         15.5 计算线性回归或相关系数  540
         15.6 生成随机数  542
         15.7 随机排序  544
         15.8 随机选择数据  547
         15.9 计算相邻两行之差  548
         15.10 查找累积总和与移动平均值  551
         15.11 指定排名  555
         15.12 计算团队排名  559
         第16章 处理重复数据  565
         16.0 概述  565
         16.1 防止表中出现重复数据  566
         16.2 处理重复的加载数据  568
         16.3 识别与统计重复数据的数量  572
         16.4 移除表中的重复数据  576
         第17章 事务处理  581
         17.0 概述  581
         17.1 选择事务存储引擎  582
         17.2 使用SQL执行事务  583
         17.3 在程序内执行事务  585
         17.4 Perl程序中的事务处理  587
         17.5 Ruby程序中的事务处理  589
         17.6 PHP程序中的事务处理  590
         17.7 Python程序中的事务处理  591
         17.8 Java程序中的事务处理  592
         第18章MySQL的Web应用简介  593
         18.0 概述  593
         18.1 生成网页的基本方法  594
         18.2 通过Apache运行Web脚本  597
         18.3 通过Tomcat运行Web脚本  607
         18.4 编码Web输出中的特殊字符  612
         第19章 根据查询结果生成网页的内容  621
         19.0 概述  621
         19.1 根据查询结果显示段落  622
         19.2 根据查询结果显示列表  624
         19.3 根据查询结果显示表格  635
         19.4 根据查询结果显示超链接  640
         19.5 根据数据库的内容创建导航索引  643
         19.6 存储图像或其他二进制数据  649
         19.7 提供图像或其他二进制数据  656
         19.8 提供横幅广告  659
         19.9 提供查询结果的下载  661
         第20章 利用MySQL处理Web输入  664
         20.0 概述  664
         20.1 编写生成Web表单的脚本  667
         20.2 根据数据库的内容创建单选表单元素  670
         20.3 根据数据库内容创建多选的表单元素  686
         20.4 将数据库内容加载到表单中  692
         20.5 收集Web输入  697
         20.6 验证Web输入  707
         20.7 将Web输入存储到数据库  708
         20.8 处理文件上传  711
         20.9 基于Web的数据库搜索  718
         20.10 生成上下页的链接  721
         20.11 生成点击标题排序的表格  726
         20.12 网页的访问次数  730
         20.13 记录网页的访问日志  734
         20.14 利用MySQL记录Apache的日志  735
         第21章 基于MySQL的Web会话管理  743
         21.0 概述  743
         21.1 在Perl应用程序中使用基于MySQL的会话  746
         21.2 在Ruby应用程序中使用基于MySQL的存储  752
         21.3 在PHP会话管理器中使用基于MySQL的存储  756
         21.4 利用MySQL与Tomcat存储会话信息  766
         第22章 服务器管理  775
         22.0 概述  775
         22.1 配置服务器  775
         22.2 管理插件接口  778
         22.3 控制服务器的日志记录  780
         22.4 日志文件的轮转与淘汰  784
         22.5 轮转日志表或淘汰日志表的记录  786
         22.6 监控MySQL服务器  787
         22.7 备份的创建和使用  799
         第23章 数据库的安全  801
         23.0 概述  801
         23.1 了解mysql.user表  802
         23.2 管理用户账号  803
         23.3 密码策略  808
         23.4 检查密码强度  810
         23.5 密码过期  811
         23.6 设置新密码  813
         23.7 重置过期密码  813
         23.8 查找并修复不安全的账号  814
         23.9 禁止账号使用MySQL 4.1之前的密码  818
         23.10 查找并删除匿名账号  819
         23.11 修改“任何主机”和“多个主机”的账号  820
      · · · · · ·     (
收起)