《MySQL 5权威指南 第3版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(奥) Michael kofler著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2006
  • ISBN:711515337X
  • 页数:662 页
图书介绍:本书介绍MySQL数据库系统。

1.1 什么是数据库 2

1.1.1 关系、数据库系统、服务器和客户 2

第一部分 入门 2

第1章 什么是MySQL 2

1.1.3 数据表、记录、字段、查询、SQL、索引和键 3

1.1.2 关系数据库系统与面向对象数据库系统 3

1.2 MySQL 4

1.3 MySQL的不足 6

1.4 MySQL的版本编号 7

1.4.2 按版本编号排列的MySQL功能表 8

1.4.1 Alpha、Beta、Gamma、Production(Generally Available) 8

1.5.2 开源许可证下的MySQL软件 10

1.5.1 GPL许可证下的权利和义务 10

1.5 MySQL的许可证 10

1.5.3 商用许可证下的MySQL软件 11

1.5.5 PHP项目的客户许可证问题——F(L)OSS特例 12

1.5.4 MySQL客户软件开发库(Connector/ODBC、Connector/J等)的商用许可证 12

1.5.6 MySQL软件的版本名称 13

1.6 MySQL软件的替代品 14

1.5.7 MySQL软件的技术支持合同 14

1.7 小结 15

2.1.1 MySQL应用现状(因特网上的数据库服务器) 16

2.1 是Windows还是UNIX/Linux 16

第2章 测试环境 16

2.2 在Windows系统上安装MySQL和相关软件 17

2.1.2 开发环境 17

2.2.1 安装Apache 2.0 18

2.2.2 安装MySQL 5.0 19

2.2.3 安装PHP 5.0 22

2.2.4 安装Perl 23

2.3.1 安装Apache 2、PHP 5和Perl 25

2.3 在SUSE Linux 9.3系统上安装MySQL和相关软件 25

2.3.2 安装MySQL 5.0 27

2.4.1 安装Apache 2 29

2.4 在Red Hat Enterprise Linux 4系统上安装MySQL和相关软件 29

2.4.3 编译PHP 5 30

2.4.2 安装MySQL 5 30

2.5.1 安装Bitkeeper 33

2.5 编译MySQL软件的开发者版本(Linux) 33

2.4.4 安装Perl 5.8 33

2.5.5 MySQL配置文件和Init-V脚本 34

2.5.4 创建用来管理访问权限的mysql数据库 34

2.5.2 下载MySQL软件的开发者版本 34

2.5.3 编译MySQL 34

2.6.1 配置文件 35

2.6 配置Apache 35

2.5.6 启动MySQL服务器 35

2.6.2 基本设置 36

2.6.3 对不同子目录的访问权限(htaccess) 37

2.7 配置PHP 39

2.8 配置MySQL 41

3.1 概述 43

第3章 初级案例研究:MySQL+PHP 43

3.2.1 启动mysql命令行解释器 44

3.2 数据库的开发 44

3.2.2 创建数据库 45

3.2.3 创建数据表 46

3.2.4 为什么要避简就难 47

3.3 调查问卷 48

3.4.3 对数据进行处理并把它存入数据库 49

3.4.2 建立与数据库的连接 49

3.4 问卷调查结果的处理和显示 49

3.4.1 mysql界面与mysqli界面 49

3.4.4 显示问卷调查的结果 50

3.4.5 程序代码(results.php) 51

3.5 改进意见 52

3.4.6 最终生成的HTML代码 52

4.1 mysql 56

第4章 mysql、mysqladmin和mysqldump 56

第二部分 管理工具和用户操作界面 56

4.1.1 启动mysql 57

4.1.2 mysql的命令行选项 58

4.1.3 交互式使用mysql 59

4.1.4 UNIX/Linux环境中mysql的使用技巧 60

4.1.5 Windows环境下mysql的使用技巧 61

4.1.6 用mysql处理SQL文件 63

4.3 mysqldump 64

4.2 mysqladmin 64

5.1 安装 65

第5章 MySQL Administrator和MySQL Query Browser 65

5.2 与MySQL服务器建立连接 66

5.3 MySQL Administrator 67

5.3.3 Startup Variables模块(配置启动参数) 68

5.3.2 Service Control模块(启动/停止MySQL服务器) 68

5.3.1 Server Information模块(查看服务器信息) 68

5.3.4 User Administration模块(用户管理) 69

5.3.6 Health模块(查看系统负载) 71

5.3.5 Server Connections模块(查看服务器连接信息) 71

5.3.8 Backup模块(制作数据库备份) 72

5.3.7 Server Logs模块(查看服务器日志) 72

5.3.9 Restore模块(用备份恢复数据库) 73

5.4.1 SQL命令的输入和执行 74

5.4 MySQL Query Browser 74

5.3.10 Replication Status模块(查看镜像机制的工作状态) 74

5.3.11 Catalogs模块(对数据库和数据表进行管理) 74

5.4.2 对SELECT结果里的数据进行修改 76

5.4.6 MySQL Help(帮助文档) 77

5.4.5 存储过程 77

5.4.3 SQL命令的历史记录和书签 77

5.4.4 一次执行多条命令(脚本) 77

第6章 phpMyAdmin 78

6.1.2 配置phpMyAdmin 79

6.1.1 安装phpMyAdmin文件 79

6.1 phpMyAdmin的安装与配置 79

6.1.3 config身份验证模式 80

6.1.4 http和cookie身份验证模式 82

6.2 用户管理,保护MySQL 84

6.2.1 保护MySQL 85

6.2.2 创建新用户 86

6.3.1 创建数据库 88

6.3 创建和编辑数据库 88

6.3.2 编辑现有的数据表 89

6.3.4 数据库设计方案的汇总和存档 90

6.3.3 设置外键规则 90

6.4 查看、插入和编辑数据 91

6.5 执行SQL命令 92

6.6.1 数据库备份(SQL文件) 93

6.6 导入和导出 93

6.6.3 导入数据库或数据表(SQL文件) 95

6.6.2 导出数据表(CSV文本文件) 95

6.7 服务器管理 96

6.6.4 插入数据表数据(文本文件) 96

6.8.1 为phpMyAdmin创建数据库 97

6.8 辅助功能 97

6.8.3 关联/引用关系信息的保存 98

6.8.2 SQL书签和历史记录 98

6.8.4 创建PDF格式的数据表关联/引用关系图 100

6.8.5 格式转换(数据列内容的另类显示效果) 101

7.1 安装Connector/ODBC 103

第7章 Microsoft Office和OpenOffice/StarOffice 103

7.2 Microsoft Access 106

7.2.1 数据表的导入和导出 107

7.2.2 数据库转换器:Access→MySQL(exportsql.txt) 109

7.3 Microsoft Excel 110

7.4.2 安装 112

7.4.1 Connector/J 112

7.4 安装Connector/J 112

7.5.1 与MySQL数据库建立连接 113

7.5 OpenOffice/StarOffice Base 113

7.5.2 Table模块 114

7.5.3 Queries模块 115

7.5.4 Forms模块、Rerports模块和其他功能 116

7.6 OpenOffice/StarOffice的Data Source视图 117

7.6.2 数据的导入 118

7.6.1 建立数据源 118

8.1 参考读物 120

第8章 数据库设计概论 120

第三部分 基础知识 120

8.2.1 MyISAM数据表 121

8.2 数据表类型 121

8.2.2 InnoDB数据表 122

8.2.3 HEAP数据表 123

8.2.5 其他的数据表类型 124

8.2.4 临时数据表 124

8.2.6 数据表文件 125

8.3.1 整数(xxxINT) 126

8.3 MySQL数据类型 126

8.3.2 定点数(DECIMAL) 127

8.3.3 日期与时间(DATE、TIME、DATETIME、TIMESTAMP) 128

8.3.4 字符串(CHAR、VARCHAR、xxxTEXT) 130

8.3.5 二进制数据(xxxBLOB和BIT) 133

8.4.1 数据库设计要求 135

8.4 数据库设计技巧 135

8.3.6 选项和属性 135

8.4.3 数据库具体设计工作中的技巧 136

8.4.2 起名字的技巧 136

8.5.1 起点 137

8.5 规范化 137

8.5.2 第一范式 138

8.5.3 第二范式 139

8.5.4 第三范式 140

8.5.5 规范化理论 141

8.6 层次关系的处理 143

8.6.1 层次关系的处理难点 144

8.6.2 从数据表创建层次关系树 145

8.6.3 搜索categories数据表里的下级图书门类 147

8.6.4 搜索categories数据表里的上级图书门类 148

8.7.1 1:1关系 149

8.7 关系 149

8.7.2 1:n关系 150

8.8.1 主键 151

8.8 主键和外键 151

8.7.3 n:m关系 151

8.8.2 外键 152

8.8.3 引用一致性(外键约束条件) 153

8.9 索引 156

8.9.1 普通索引、唯一索引和主索引 157

8.9.2 全文索引 158

8.9.3 查询和索引的优化 159

8.10 视图 161

8.11 示例数据库mylibrary(图书管理) 163

8.11.2 数据表的属性 164

8.11.1 数据库的属性 164

8.12.1 讨论组数据库:myforum 165

8.12 示例数据库myforum(网上论坛) 165

8.12.2 帖子之间的层次关系 166

8.13.1 数据表testall 167

8.13 示例数据库exceptions(用于特殊情况的测试) 167

8.13.7 数据表test_sortl 168

8.13.6 数据表test_null 168

8.13.2 数据表text_text 168

8.13.3 数据表test_blob 168

8.13.4 数据表test_date 168

8.13.5 数据表test_enum 168

8.13.9 数据表importtablel、importtable2、exporttable 169

8.13.8 数据表test_sort2 169

9.1 简介 170

第9章 SQL语言入门 170

9.2 简单查询(SELECT) 171

9.2.3 限制查询结果中的数据列个数 172

9.2.2 确定数据表里有多少条内容不重复的数据记录(DISTINCT) 172

9.2.1 确定数据表里有多少条数据记录(数据行) 172

9.2.5 在使用LIMIT关键字确定数据表里的数据记录数(SQL_CALC_FOUND_ROWS、FOUND_ROWS()) 173

9.2.4 限制查询结果中的数据记录个数(LIMIT) 173

9.3.1 选择一种排序方式 174

9.3 对查询结果进行排序(ORDER BY) 174

9.3.2 试用不同的排序方式 175

9.4 筛选数据记录(WHERE,HAVING) 176

9.5 涉及多个数据表的关联查询(LEFT/RIGHT JOIN) 177

9.5.1 两个数据表的关联 178

9.5.2 3个或更多个数据表的关联 179

9.7 分组查询,统计函数(GROUP BY) 181

9.6 合并查询结果(UNION) 181

9.7.1 统计函数 182

9.7.2 统计函数GROUP_CONCAT() 183

9.7.4 GROUP BY...WITH ROLLUP 184

9.7.3 对多个数据列进行GROUP BY查询 184

9.8.1 备份数据 185

9.8 修改数据(INSERT、UPDATE和DELETE) 185

9.8.2 插入数据记录(INSERT) 186

9.8.4 删除数据记录(DELETE) 188

9.8.3 修改数据记录(UPDATE) 188

9.9.1 创建数据库(CREATE DATABASE) 190

9.9 创建数据表、数据库和索引 190

9.9.2 创建数据表(CREATE TABLE) 191

9.9.4 变更数据表的结构(ALTER TABLE) 192

9.9.3 创建索引(CREATE INDEX) 192

9.9.6 自动修改数据表设计(默许的数据列修改) 193

9.9.5 删除数据库和数据表(DROP) 193

9.9.7 SHOW命令 194

家族 195

9.9.8 INFORMATION_SCHEMA数据表 195

10.1.1 基本函数 197

10.1 字符串 197

第10章 SQL解决方案 197

10.1.2 改变字符集 198

10.1.3 设置客户端字符集 199

10.1.4 模板匹配 200

10.2.1 日期和时间的语法 201

10.2 日期和时间 201

10.2.2 与日期和时间有关的计算 202

10.2.3 UNIX时间戳 204

10.2.4 地理时区 206

10.3.1 ENUM 208

10.3 ENUM和SET数据类型 208

10.4 变量与条件表达式(IF、CASE) 209

10.3.2 SET 209

10.4.1 变量 210

10.4.3 CASE分支 211

10.4.2 IF查询 211

10.5.1 利用复制操作创建新数据表 212

10.5 在数据表间复制数据 212

10.6 统计报表 213

10.5.2 把数据复制到现有数据表 213

10.6.1 涉及titles、languages和cate-gories数据表的统计报表 214

10.6.2 月度查询统计报表 215

10.7.1 语法变体 216

10.7 子查询 216

10.7.2 示例 218

10.8.2 找出无效的出版公司引用:1:n关系中的无效记录 219

10.8.1 找出没有作者的图书 219

10.8 保证数据的一致性 219

10.8.3 找出作者与图书之间的无效链接(n:m关系) 220

10.10 数据表设计方案的改进 221

10.9 找出冗余的数据记录 221

10.11.1 数据查询(SELECT) 223

10.11 对前n条或后n条记录进行处理 223

10.11.3 把全部讨论线程删除到只剩下最新的500个线程 224

10.11.2 修改现有记录(UPDATE和DELETE) 224

10.12.2 自备随机数的数据表 225

10.12.1 通用方法:RAND()函数 225

10.12 以随机方式选择数据记录 225

10.13 全文索引 226

10.12.3 利用id数据列选择随机记录 226

10.13.1 基础知识 227

10.13.2 图书检索 229

10.13.3 论坛文章检索 231

10.14.1 语法 232

10.14 锁定 232

10.15.1 为什么要使用事务 233

10.15 事务 233

10.14.2 GET_LOCK和RELEASE_LOCK函数 233

10.15.2 事务的控制 234

10.15.3 事务机制的工作流程 235

10.15.4 事务与锁定 237

10.15.5 事务的隔离模式 238

10.15.6 出错处理 240

11.1.1 客户与MySQL服务器之间的连接 241

11.1 简介 241

第11章 访问权限与信息安全 241

11.1.2 访问管理 242

11.2.1 保护MySQL安装 246

11.2 急救 246

11.2.2 创建新的数据库和用户 247

11.2.3 授予创建个人数据库的权限 248

11.2.4 忘记root密码情况的处理 249

11.3.2 权限 250

11.3.1 两级访问控制 250

11.3 访问控制机制的内部工作原理 250

11.3.3 mysql数据库 253

11.3.4 user数据表 254

11.3.5 user.Host数据列 257

11.3.6 db数据表和host数据表 260

11.3.7 tables_priv和columns_priv数据表 261

11.4.1 使用GRANT和REVOKE命令改变访问权限 263

11.4 访问权限的设置工具 263

11.3.8 procs_priv数据表 263

11.5 MySQL 4.1版本开始的安全密码验证 265

11.4.3 使用mysqladmin程序改变密码 265

11.4.2 使用SHOW GRANT命令查看访问权限 265

11.5.3 同时使用的和新的密码的操作 266

11.5.2 old-passwords模式 266

11.5.1 升级客户端函数库 266

11.6.1 连接困难的可能原因 267

11.6 建立连接的问题 267

11.7.1 系统级安全措施 270

11.7 系统安全性 270

11.6.2 错误检查的更多方法 270

11.7.4 不要使用root或Administrator权限来运行MySQL服务器 271

11.7.3 与MySQL服务器有关的安全风险 271

11.7.2 重要数据存储的安全保护 271

11.7.5 网络安全与防火墙 272

12.1.1 地理坐标的表示方法 273

12.1 GIS数据格式 273

第12章 GIS函数 273

12.1.2 Well-Known Text和Well-Known Binary(OpenGIS) 274

12.2.1 数据类型 275

12.2 MySQL的GIS实现 275

12.2.2 简单的几何函数 277

12.2.3 空间分析函数 279

12.3 SQL示例(冰川数据库) 281

12.2.4 为几何数据创建索引 281

12.3.3 查询数据 282

12.3.2 插入数据 282

12.3.1 创建数据表 282

12.4 SQL示例(opengeodb数据库) 284

12.4.2 导入 285

12.4.1 数据来源和导入 285

12.4.3 对圆形地理区域进行搜索 286

13.1.1 存储过程 288

13.1 为什么要使用存储过程和触发器 288

第13章 存储过程和触发器 288

13.2 初识SP 289

13.1.2 触发器 289

13.2.1 MySQL命令解释器:mysql程序 290

13.2.2 MySQL Query Browser 291

13.3 SP的实现 292

13.4.1 创建、编辑和删除SP 293

13.4 SP的管理 293

13.4.3 SP的备份和恢复 295

13.4.2 信息安全问题 295

13.5.1 基本语法规则 296

13.5 SP的语法和语言元素 296

13.5.2 调用SP(CALL) 297

13.5.3 参数和返回值 298

13.5.4 命令的封装(BEGIN-END) 299

13.5.6 循环 301

13.5.5 分支 301

13.5.7 出错处理(出错处理句柄) 302

13.5.8 光标 304

13.6.1 增加新的图书门类 306

13.6 SP应用示例 306

13.6.2 增加一本新图书 307

13.6.3 确定父门类 308

13.6.4 按层次结构生成图书门类清单 309

13.7.1 创建触发器 311

13.7 触发器 311

13.7.4 功能局限性 312

13.7.3 实现细节和管理工具 312

13.7.2 删除触发器 312

13 7.5 触发器应用示例 313

14.1.1 MySQL数据库系统的管理工具 314

14.1 基础知识 314

第14章 管理与服务器配置 314

14.1.2 设置root密码 315

14.1.4 重新启动MySQL服务器 316

14.1.3 MySQL服务器配置文件 316

14.1.7 通信设置 317

14.1.6 目录 317

14.1.5 MySQL服务器的基本配置 317

14.1.10 地理时区 318

14.1.9 新数据表的默认字符集和排序方式 318

14.1.8 默认的数据表格式 318

14.1.12 SQL模式 319

14.1.11 出错消息的显示语言 319

14.2.1 备份数据库(mysqldump) 321

14.2 备份 321

14.2.2 用备份恢复数据库(mysql) 324

14.2.3 快速备份(mysqlhotcopy) 325

14.3 数据库的迁移 327

14.4.1 文本文件里的特殊字符 329

14.4 导出和导入文本文件 329

14.4.3 用LOAD DATA INFILE命令导入 330

14.4.2 字符串、数值、日期/时间、BLOB和NULL值 330

14.4.5 用SELECT...INTO OUTFILE命令导出 333

14.4.4 用mysqlimport工具导入 333

14.4.7 用mysql程序的批处理模式导出 335

14.4.6 用mysqldump程序导出 335

14.5.1 为什么要使用日志 337

14.5 日志 337

14.5.3 变更日志(update log) 338

14.5.2 缺点与不足 338

14.5.4 出错日志、登录日志和慢查询日志 340

14.6.1 简介 342

14.6 镜像机制 342

14.5.5 日志文件的管理 342

14.6.2 建立镜像机制的主控系统 344

14.6.3 建立镜像机制的从属系统 346

14.6.5 内部镜像机制 348

14.6.4 用LOAD DATA命令建立镜像机制 348

14.6.6 客户端编程 350

14.7.1 myisamchk程序 351

14.7 管理MyISAM数据表 351

14.7.3 速度优化与内存使用情况 352

14.7.2 myisamchk程序的使用方法 352

14.7.5 修复受损的MyISAM数据表 353

14.7.4 对MyISAM数据表进行压缩和优化 353

14.8.1 表空间的管理 354

14.8 InnoDB数据表的管理 354

14.7.6 压缩MyISAM数据表(myisampack程序) 354

14.8.2 日志文件 359

14.9 MySQL服务器的优化 362

14.9.1 优化内存管理 363

14.9.2 查询缓存区 364

14.10.3 实现自定义的PHP脚本 366

14.10.2 phpMyAdmin工具 366

14.10 ISP数据库管理 366

14.10.1 ssh工具 366

14.10.4 自定义:Perl脚本 367

15.1 mysql功能模块 370

第15章 PHP 370

第四部分 程序设计 370

15.1.1 连接MySQL服务器 371

15.1.2 执行SQL命令 372

15.1.3 处理SELECT查询结果 373

15.1.5 出错处理与查找 376

15.1.4 事务 376

15.2.1 选择编程接口:mysql还是mysqli 377

15.2 mysqli的类、方法和属性 377

15.2.4 连接MySQL服务器 378

15.2.3 构成mysqli接口的类 378

15.2.2 有效性测试 378

15.2.6 处理SELECT查询结果(mysqli_result()方法) 380

15.2.5 执行SQL命令 380

15.2.8 带参数的SQL命令(预处理语句) 382

15.2.7 一次执行多条SQL命令 382

15.3.1 使用单独的密码文件提高安全性 385

15.3 把数据库功能打包为一个类 385

15.2.9 事务 385

15.3.2 使用MyDb类实现安全和方便 386

15.4 把SELECT查询结果显示为一个表格 389

15.5.1 字符串和BLOB 390

15.5 字符串、日期、时间、BLOB和NULL 390

15.5.2 日期和时间 391

15.5.3 NULL值 392

15.7 处理来自HTML表单的输入数据 393

15.6 向关联数据表插入新数据记录 393

15.7.1 代码结构 394

15.7.2 创建HTML表单 396

15.7.3 对表单数据进行合法性检查 400

15.7.4 把表单数据存入数据库 401

15.7.5 删除一本图书 403

15.8 分页显示查询结果 404

15.7.6 值得改进的地方 404

15.8.1 代码结构 405

15.8.2 对图书作者进行搜索 407

15.8.4 显示搜索结果 408

15.8.3 对图书进行搜索 408

15.9 处理层次化数据 410

15.8.5 指向其他结果页面的链接 410

15.9.1 代码结构 411

15.9.2 显示图书门类树 413

15.9.3 插入一个或多个新图书门类 415

15.9.4 删除一个图书门类及其下级门类 416

15.9.5 搜索上级图书门类 417

15.9.6 搜索下级图书门类 418

15.10.1 提高代码执行效率的基本原则 419

15.10 速度优化 419

15.10.2 统计信息和性能指标 420

15.10.3 示例:高效地生成图书门类下拉列表 421

15.1.1 Unicode 424

15.12 二进制数据(BLOB)和图像 428

15.12.1 在数据库里存储图像的基础知识与编程技巧 429

15.12.2 在数据库里存储图像的程序代码 431

15.13 存储过程 434

15.14.2 使用SP Administrator 435

15.14.1 安装SP Administrator 435

15.14 SP Administrator 435

15.14.3 SP Administrator代码 436

16.1.1 DBI和DBD::mysql模块 441

16.1 编程技巧 441

第16章 Perl 441

16.1.2 与数据库建立连接 442

16.1.3 执行SQL命令 443

16.1.4 处理SELECT查询结果 445

16.1.5 字符串、BLOB、日期值、SET、ENUM和NULL 449

16.1.6 DBD::mysql模块特有的方法和属性 452

16.1.7 Unicode 453

16.1.9 出错处理 454

16.1.8 事务 454

16.2 示例:删除无效的数据记录(mylibrary) 456

16.3.1 图书检索(mylibrary-find.pl脚本) 457

16.3 CGI示例:图书管理(mylibrary) 457

16.3.2 新图书的简单输入(mylibrary-simpleinput.pl脚本) 460

16.4.1 图书检索(mylibrary-find-utf8.pl脚本) 462

16.4 CGI Unicode示例 462

16.4.2 新图书的输入(mylibrary-simpleinput-utf8.pl脚本) 463

17.1.1 Java的安装 464

17.1 基础知识 464

第17章 Java(JDBC和Connector/J) 464

17.1.2 Connector/J的安装 466

17.2 程序设计技巧 468

17.2.1 第一个示例 469

17.2.2 与MySQL服务器建立连接 470

17.2.3 连接MySQL服务器时可能遇到的问题 472

17.2.4 执行SQL命令 473

17.2.5 处理SELECT查询结果 474

17.2.6 预处理语句 478

17.2.8 批处理命令 479

17.2.7 事务 479

17.2.9 二进制数据(BLOB)的处理 480

18.2.1 对系统的基本要求 483

18.2 Hello,World 483

第18章 C语言 483

18.1 MySQL C API(libmysqlclient) 483

18.2.2 入门级示例 484

18.2.3 编译与链接 485

18.2.5 以静态方式绑定MySQL API函数 486

18.2.4 Makefile 486

18.3 与MySQL服务器建立连接 487

18.3.2 处理命令行选项 488

18.3.1 处理MySQL配置文件my.cnf 488

18.4.1 简单的SQL命令 489

18.4 执行SQL命令 489

18.4.2 一次执行多条SQL命令 490

18.4.3 预处理语句 493

18.4.4 字符集设置(Unicode) 497

18.5 处理二进制数据和特殊字符 498

18.6 出错处理 500

19.1 基础知识和术语 501

第19章 Visual Basic 6/VBA 501

19.2 Connector/ODBC选项 503

19.3 ADO程序设计与 Visual Basic 6/VBA 504

19.4.2 与MySQL服务器建立连接(不使用DSN) 506

19.4.1 与MySQL服务器建立连接:使用DSN 506

19.4 与MySQL服务器建立连接 506

19.4.3 ADO程序设计技巧 509

19.4.4 示例:给titles数据表增加一个authors数据列 514

19.4.5 示例:添加一本新图书 517

19.4.6 示例:把图像文件存入和读出BLOB数据列 519

19.5 转换器:从Microsoft SQL Server到MySQL 521

19.5.1 mssql2mysql脚本的特点 521

19.5.2 对系统的要求 521

19.5.3 缺陷与不足 521

19.5.4 使用方法 522

19.5.5 设置有关参数 522

19.6 VBMySQLDirect 523

19.6.1 安装 524

19.6.2 应用 524

19.6.3 示例 524

第20章 Visual Basic.NET和C# 526

20.1 ADO.NET与MySQL之间的通信 526

20.1.1 通过Connector/Net连接数据库 527

20.1.2 用ODBC数据泵连接数据库 530

20.2 编程技巧 532

20.2.1 执行SQL命令(MySql-Command对象) 532

20.2.2 带参数的SQL命令(MySql-Parameter对象) 533

20.2.3 处理离散的SELECT查询结果(ExecuteScalar()方法) 535

20.2.4 读取SELECT查询结果(MySqlDataReader对象) 535

20 2.5 DataSet、DataTable和MySqlDataAdapter对象 537

20.2.7 出错处理 540

20.2.8 Windows.Form和ASP.NET控件 540

20.2.6 辅助函数 540

20.2.9 事务 542

20.3 示例:把新图书记录存入mylibrary数据库 542

20.4 示例:把图像文件存入和读出一个BLOB数据列 544

21.1 语法 548

第21章 SQL语法指南 548

21.1.1 对象命名规则 548

第五部分 参考资料 548

21.1.2 区分字母大小写 549

21.1.3 字符串 549

21.1.5 数值 550

21.1.6 数值和字符串的自动转换 550

21.1.4 字符集和排序方式 550

21.1.9 二进制数值 551

21.1.8 二进制数据 551

21.1.10 注释语句 551

21.1.7 日期和时间 551

21.1.11 SQL命令末尾的分号 552

21.2 操作符 552

21.2.2 比较操作符 553

21.2.3 使用LIKE操作符进行模式匹配 553

21.2.1 算术操作符与位操作符 553

21.2.4 使用REGEXP操作符进行模式匹配 554

21.2.5 二进制字符串比较 554

21.3.1 变量赋值 555

21.3 变量和常数 555

21.3.2 使用和查看变量 555

21.2.6 逻辑操作符 555

21.3.4 SET PASSWORD命令 556

21.3.5 结构化变量 556

21.3.3 全局级系统变量与会话级系统变量 556

21.3.6 常数 557

21.4 MySQL数据类型 557

21.5 SQL命令汇总表(按功能分类) 559

21.6 SQL命令指南(按字母表顺序排列) 561

21.7 SQL函数指南 596

21.7.1 算术函数 596

21.7.3 类型转换(投射) 597

21.7.4 字符串处理 597

21.7.2 比较函数、测试函数、分支函数 597

21.7.5 日期/时间函数 600

21.7.6 GROUP BY函数 604

21.7.7 其他函数 605

21.8 GIS数据类型与GIS函数 606

21.9 与存储过程和触发器有关的语言元素 608

22.2 通用选项和配置文件 610

22.1 概述 610

22.2.1 通用选项 610

第22章 MySQL工具和选项 610

22.2.2 设置配置文件的选项 612

22.2.3 内存量的表示方法 613

22.2.4 环境变量(系统变量) 613

22.2.5 选项设置规则 614

22.3 mysqld程序(服务器) 614

22.3.1 基本选项 615

22.3.2 与日志和镜像功能有关的选项 617

22.3.3 InnoDB配置选项 618

22.3.4 其他选项 620

22.4 mysqld_safe脚本(启动MySQL服务器) 620

22.5 mysql_install_db脚本(安装mysql数据库) 621

22.7 mysql_fix_extensions脚本(重命名MyISAM文件) 622

22.8 mysql程序(SQL命令解释器) 622

22.6 mysql_fix_privileges脚本(更新mysql数据库) 622

22.9 mysqladmin程序(日常管理) 624

22.10 mysqldump程序(数据的备份/导出) 625

22.11 mysqlimport程序(文本导入、批量导入) 628

22.12 mysqlshow程序(查看信息) 628

22.13 myisamchk程序(修复MyISAM文件) 629

22.14 myisampack程序(压缩MyISAM文件) 630

第23章 MySQL API应用指南 632

23.1 PHP API(mysql接口) 632

23.2 PHP API(mysqli接口) 635

23.2.1 mysqli类 636

23.2.2 mysqli_result类 637

23.3 Perl DBI 638

23.3.1 常用的变量名 638

23.2.3 mysqli_stmt类 638

23.3.2 与MySQL服务器建立连接 639

23.3.3 执行SQL命令、处理SELECT查询结果 640

23.3.5 辅助函数 642

23.3.6 DBD::mysql驱动程序中的MySQL专用扩展模块 642

23.3.4 出错处理 642

23.4.1 与MySQL服务器建立连接 644

23.4.2 执行SQL命令 644

23.4 JDBC(Connector/J) 644

23.4.3 处理SELECT 查询结果(ResultSet类) 646

23.5 ADO.NET(Connector/Net) 647

23.5.1 与MySQL服务器建立连接 647

23.4.4 事务 647

23.5.2 执行SQL命令与处理SELECT查询结果 648

23.5.3 利用DataSet/DataTable类修改数据 649

23.6 C API 650

23.6.1 数据结构 650

23.5.4 事务 650

23.6.2 连接与管理 652

23.6.3 执行SQL命令及处理SELECT查询结果 654

23.6.4 预处理语句 656

第六部分 附录 658

附录A 术语解释 658

附录B 本书的配套示例文件 663

附录C 参考书目 664