目录
前言 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
· · · · · · (
收起)