请输入您要查询的百科知识:

 

词条 MySQL技术内幕(第4版)
释义

图书信息

作者:Paul DuBois (作者), 杨晓云 (译者), 王建桥 (译者), 杨涛 (译者)

出版社: 人民邮电出版社; 第1版 (2011年7月1日)

丛书名: 图灵程序设计丛书

平装: 886页

正文语种: 简体中文

开本: 16

ISBN: 9787115255952

条形码: 9787115255952

产品尺寸及重量: 23.4 x 18.3 x 3.8 cm ; 1.3 Kg

内容简介

《MySQL技术内幕(第4版)》介绍了MySQL的基础知识及其有别于其他数据库系统的独特功能,包括SQL的工作原理和MySQL API的相关知识;讲述了如何将MySQL与Perl或PHP等语言结合起来,为数据库查询结果生成动态Web页面,如何编写MySQL数据访问程序;详细讨论了数据库管理和维护、数据目录的组织和内容、访问控制、安全连接等。附录还提供了软件的安装信息,罗列了MySQL数据类型、函数、变量、语法、程序、API等重要细节。

《MySQL技术内幕(第4版)》是一部全面的MySQL指南,对数据库系统感兴趣的读者都能从中获益。

目录

目 录

第一部分 MySQL基础知识

第1章 MySQL和SQL 入门 2

1.1 MySQL的用途 2

1.2 示例数据库 4

1.2.1 “美国历史研究会”场景 5

1.2.2 考试记分项目 7

1.2.3 关于示例数据库的说明 7

1.3 数据库基本术语 7

1.3.1 数据库的组织结构 8

1.3.2 数据库查询语言 10

1.3.3 MySQL的体系结构 10

1.4 MySQL 11

1.4.1 如何获得示例数据库 12

1.4.2 最低配置要求 12

1.4.3 如何建立和断开与服务器的连接 13

1.4.4 执行SQL语句 15

1.4.5 创建数据库 17

1.4.6 创建数据表 18

1.4.7 如何添加新的数据行 33

1.4.8 将sampdb数据库重设为原来的状态 36

1.4.9 检索信息 37

1.4.10 如何删除或更新现有的数据行 64

1.5 与客户程序MySQL交互的技巧 66

1.5.1 简化连接过程 67

1.5.2 减少输入查询命令时的打字动作 69

1.6 后面各章的学习计划 72

第2章 使用SQL管理数据 73

2.1 MySQL服务器的SQL模式 73

2.2 MySQL标识符语法和命名规则 74

2.3 SQL语句中的字母大小写问题 77

2.4 字符集支持 78

2.4.1 字符集的设定 79

2.4.2 确定可供选用的字符集和当前设置 80

2.4.3 Unicode支持 81

2.5 数据库的选定、创建、删除和变更 82

2.5.1 数据库的选定 82

2.5.2 数据库的创建 82

2.5.3 数据库的删除 83

2.5.4 数据库的变更 83

2.6 数据表的创建、删除、索引和变更 84

2.6.1 存储引擎的特征 84

2.6.2 创建数据表 90

2.6.3 删除数据表 101

2.6.4 为数据表编制索引 101

2.6.5 改变数据表的结构 106

2.7 获取数据库的元数据 108

2.7.1 用SHOW语句获取元数据 109

2.7.2 从INFORMATION_SCHEMA数据库获取元数据 110

2.7.3 从命令行获取元数据 112

2.8 利用联结操作对多个数据表进行检索 113

2.8.1 内联结 114

2.8.2 避免歧义:如何在联结操作中给出数据列的名字 116

2.8.3 左联结和右联结(外联结) 116

2.9 用子查询进行多数据表检索 120

2.9.1 子查询与关系比较操作符 121

2.9.2 IN和NOT IN子查询 122

2.9.3 ALL、ANY和SOME子查询 123

2.9.4 EXISTS和NOT EXISTS子查询 124

2.9.5 与主查询相关的子查询 124

2.9.6 FROM子句中的子查询 124

2.9.7 把子查询改写为联结查询 125

2.10 用UNION语句进行多数据表检索 126

2.11 使用视图 129

2.12 涉及多个数据表的删除和更新操作 133

2.13 事务处理 134

2.13.1 利用事务来保证语句的安全执行 135

2.13.2 使用事务保存点 139

2.13.3 事务的隔离性 139

2.13.4 事务问题的非事务解决方案 140

2.14 外键和引用完整性 143

2.14.1 外键的创建和使用 144

2.14.2 如果不能使用外键该怎么办 149

2.15 使用FULLTEXT索引 150

2.15.1 全文搜索:自然语言模式 151

2.15.2 全文搜索:布尔模式 153

2.15.3 全文搜索:查询扩展模式 154

2.15.4 配置全文搜索引擎 155

第3章 数据类型 156

3.1 数据值的类别 157

3.1.1 数值 157

3.1.2 字符串值 158

3.1.3 日期/时间值 166

3.1.4 坐标值 166

3.1.5 布尔值 166

3.1.6 空值NULL 166

3.2 MySQL的数据类型 166

3.2.1 数据类型概述 167

3.2.2 数据表中的特殊列类型 168

3.2.3 指定列默认值 169

3.2.4 数值数据类型 170

3.2.5 字符串数据类型 176

3.2.6 日期/时间数据类型 189

3.2.7 空间数据类型 196

3.3 MySQL如何处理非法数据值 197

3.4 序列 199

3.4.1 通用AUTO_INCREMENT属性 199

3.4.2 与特定存储引擎有关的AUTO_INCREMENT属性 201

3.4.3 使用AUTO_INCREMENT数据列时的要点 203

3.4.4 使用AUTO_INCREMENT机制时的注意事项 204

3.4.5 如何在不使用AUTO_INCREMENT的情况下生成序列编号 205

3.5 表达式求值和类型转换 207

3.5.1 表达式的编写 207

3.5.2 类型转换 213

3.6 数据类型的选用 220

3.6.1 数据列将容纳什么样的数据 222

3.6.2 数据是否都在某个特定的区间内 224

3.6.3 与挑选数据类型有关的问题是相互影响的 225

第4章 存储程序 227

4.1 复合语句和语句分隔符 228

4.2 存储函数和存储过程 229

4.2.1 存储函数和存储过程的权限 231

4.2.2 存储过程的参数类型 232

4.3 触发器 233

4.4 事件 234

4.5 存储程序和视图的安全性 236

第5章 查询优化 237

5.1 使用索引 237

5.1.1 索引的优点 238

5.1.2 索引的缺点 240

5.1.3 挑选索引 241

5.2 MySQL的查询优化程序 243

5.2.1 查询优化器的工作原理 244

5.2.2 用EXPLAIN 语句检查优化器操作 247

5.3 为提高查询效率而挑选数据类型 252

5.4 有效加载数据 255

5.5 调度和锁定问题 258

5.5.1 改变语句的执行优先级 259

5.5.2 使用延迟插入 259

5.5.3 使用并发插入 260

5.5.4 锁定级别与并发性 260

5.6 系统管理员所完成的优化 261

5.6.1 使用MyISAM键缓存 263

5.6.2 使用查询缓存 264

5.6.3 硬件优化 265

第二部 分 MySQL的编程接口

第6章 MySQL程序设计 268

6.1 为什么要自己编写MySQL程序 268

6.2 MySQL应用程序可用的API 271

6.2.1 C API 272

6.2.2 Perl DBI API 272

6.2.3 PHP API 274

6.3 如何挑选API 275

6.3.1 执行环境 275

6.3.2 性能 276

6.3.3 开发时间 278

6.3.4 可移植性 280

第7章 用C语言编写MySQL程序 281

7.1 编译和链接客户程序 282

7.2 连接到服务器 284

7.3 出错消息和命令行选项的处理 287

7.3.1 出错检查 287

7.3.2 实时获取连接参数 290

7.3.3 给MySQL客户程序增加选项处理功能 301

7.4 处理SQL语句 305

7.4.1 处理修改数据行的语句 306

7.4.2 处理有结果集的语句 307

7.4.3 一个通用的语句处理程序 310

7.4.4 另一种语句处理方案 311

7.4.5 mysql_store_result()与mysql_use_result()函数的对比 312

7.4.6 使用结果集元数据 314

7.4.7 对特殊字符和二进制数据进行编码 319

7.5 交互式语句执行程序 322

7.6 怎样编写具备SSL支持的客户程序 323

7.7 嵌入式服务器库的使用 327

7.7.1 编写内建了服务器的应用程序 328

7.7.2 生成应用程序可执行二进制文件 330

7.8 一次执行多条语句 331

7.9 使用服务器端预处理语句 333

第8章 使用Perl DBI编写MySQL程序 343

8.1 Perl脚本的特点 343

8.2 Perl DBI概述 344

8.2.1 DBI数据类型 344

8.2.2 一个简单的DBI脚本 345

8.2.3 出错处理 349

8.2.4 处理修改数据行的语句 352

8.2.5 处理返回结果集的语句 353

8.2.6 在语句字符串引用特殊字符 361

8.2.7 占位符与预处理语句 363

8.2.8 把查询结果绑定到脚本变量 365

8.2.9 设定连接参数 366

8.2.10 调试 369

8.2.11 使用结果集的元数据 372

8.2.12 实现事务处理 376

8.3 DBI脚本实战 377

8.3.1 生成美国历史研究会会员名录 377

8.3.2 发出会费催交通知 382

8.3.3 会员记录项的编辑修改 387

8.3.4 寻找志趣相同的会员 392

8.3.5 把会员名录放到网上 393

8.4 用DBI开发Web应用 396

8.4.1 配置Apache服务器使用CGI脚本 397

8.4.2 CGI-pm模块简介 398

8.4.3 从Web脚本连接MySQL服务器 404

8.4.4 一个基于Web的数据库浏览器 406

8.4.5 考试记分项目:考试分数浏览器 410

8.4.6 美国历史研究会:寻找志趣相同的会员 413

第9章 用PHP编写MySQL程序 418

9.1 PHP概述 419

9.1.1 一个简单的PHP脚本 421

9.1.2 利用PHP库文件实现代码封装 424

9.1.3 简单的数据检索页面 428

9.1.4 处理语句结果 431

9.1.5 测试查询结果里的NULL值 434

9.1.6 使用预处理语句 434

9.1.7 利用占位符来处理带引号的数据值 435

9.1.8 出错处理 437

9.2 PHP脚本实战 438

9.2.1 考试分数的在线录入 438

9.2.2 创建一个交互式在线测验 449

9.2.3 美国历史研究会:会员个人资料的在线修改 454

第三部分 MySQL的系统管理

第10章 MySQL系统管理简介 462

10.1 MySQL组件 462

10.2 常规管理 463

10.3 访问控制与安全性 464

10.4 数据库的维护、备份和复制 464

第11章 MySQL的数据目录 466

11.1 数据目录的位置 466

11.2 数据目录的层次结构 468

11.2.1 MySQL服务器如何提供对数据的访问 468

11.2.2 MySQL数据库在文件系统里是如何表示的 469

11.2.3 数据表在文件系统里的表示方式 470

11.2.4 视图和触发器在文件系统里的表示方式 471

11.2.5 SQL语句与数据表文件操作的对应关系 472

11.2.6 操作系统对数据库对象的命名规则有何影响 472

11.2.7 影响数据表最大长度的因素 474

11.2.8 数据目录的结构对系统性能的影响 475

11.2.9 MySQL状态文件和日志文件 477

11.3 重新安置数据目录的内容 479

11.3.1 重新安置工作的具体方法 479

11.3.2 重新安置注意事项 480

11.3.3 评估重新安置的效果 480

11.3.4 重新安置整个数据目录 481

11.3.5 重新安置各个数据库 481

11.3.6 重新安置各个数据表 482

11.3.7 重新安置InnoDB共享表空间 482

11.3.8 重新安置状态文件和日志文件 482

第12章 MySQL数据库系统的日常管理 484

12.1 安装MySQL软件后的初始安防设置 484

12.1.1 为初始MySQL账户设置口令 485

12.1.2 为第二个服务器设置口令 489

12.2 安排MySQL服务器的启动和关停 489

12.2.1 在Unix上运行MySQL服务器 489

12.2.2 在Windows上运行MySQL服务器 493

12.2.3 指定服务器启动选项 495

12.2.4 关闭服务器 497

12.2.5 当你未能连接至服务器时重新获得服务器的控制 497

12.3 对MySQL服务器的连接监听情况进行控制 499

12.4 管理MySQL用户账户 500

12.4.1 高级MySQL账户管理操作 501

12.4.2 对账户授权 503

12.4.3 查看账户的权限 510

12.4.4 撤销权限和删除用户 510

12.4.5 改变口令或重新设置丢失的口令 511

12.5 维护日志文件 512

12.5.1 出错日志 514

12.5.2 常规查询日志 515

12.5.3 慢查询日志 515

12.5.4 二进制日志和二进制日志索引文件 516

12.5.5 中继日志和中继日志索引文件 517

12.5.6 日志数据表的使用 518

12.5.7 日志管理 519

12.6 调整MySQL服务器 524

12.6.1 查看和设置系统变量的值 525

12.6.2 通用型系统变量 528

12.6.3 查看状态变量的值 530

12.7 存储引擎的配置 531

12.7.1 为MySQL服务器挑选存储引擎 531

12.7.2 配置MyISAM存储引擎 533

12.7.3 配置InnoDB存储引擎 536

12.7.4 配置Falcon存储引擎 541

12.8 启用或者禁用LOAD DATA语句的LOCAL能力 541

12.9 国际化和本地化问题 542

12.9.1 设置MySQL服务器的地理时区 542

12.9.2 选择用来显示出错信息的语言 544

12.9.3 配置MySQL服务器的字符集支持 544

12.10 运行多个服务器 545

12.10.1 运行多个服务器的问题 545

12.10.2 配置和编译不同的服务器 547

12.10.3 指定启动选项的决策 548

12.10.4 用于服务器管理的mysqld_multi 549

12.10.5 在Windows系统上运行多个MySQL服务器 550

12.11 升 级MySQL 553

第13章 访问控件和安全 555

13.1 内部安全性:防止未经授权的文件系统访问 555

13.1.1 如何偷取数据 556

13.1.2 保护你的MySQL安装 557

13.2 外部安全性:防止未经授权的网络访问 562

13.2.1 MySQL权限表的结构和内容 562

13.2.2 服务器如何控制客户访问 568

13.2.3 一个关于权限的难题 572

13.2.4 应该回避的权限数据表风险 575

13.3 加密连接的建立 577

第14章 MySQL数据库的维护、备份和复制 582

14.1 数据库预防性维护工作的基本原则 582

14.2 在MySQL服务器运行时维护数据库 583

14.2.1 以只读方式或读/写方式锁定一个或多个数据表 584

14.2.2 以只读方式锁定所有的数据库 586

14.3 预防性维护 587

14.3.1 充分利用MySQL服务器的自动恢复能力 587

14.3.2 定期进行预防性维护 588

14.4 制作数据库备份 589

14.4.1 用mysqldump程序制作文本备份 590

14.4.2 制作二进制数据库备份 593

14.4.3 备份InnoDB或Faclcon数据表 595

14.5 把数据库复制到另一个服务器 596

14.5.1 使用一个备份文件来复制数据库 596

14.5.2 把数据库从一个服务器复制到另一个 597

14.6 数据表的检查和修复 598

14.6.1 用服务器检查和修复数据表 599

14.6.2 用mysqlcheck程序检查和修复数据表 599

14.6.3 用myisamchk程序检查和修复数据表 600

14.7 使用备份进行数据恢复 603

14.7.1 恢复整个数据库 603

14.7.2 恢复数据表 604

14.7.3 重新执行二进制日志文件里的语句 605

14.7.4 InnoDB存储引擎的自动恢复功能 606

14.8 设置复制服务器 607

14.8.1 复制机制的工作原理 607

14.8.2 建立主从复制关系 609

14.8.3 二进制日志的格式 611

14.8.4 使用复制机制制作备份 612

第四部分 附录

附录A 获得并安装有关软件 614

附录B 数据类型指南 630

附录C 操作符与函数用法指南 643

附录D 系统变量、状态变量和用户变量使用指南 705

附录E SQL语法指南 746

附录F MySQL程序指南 823

附录G API指南(图灵网站下载)

附录H Perl DBI API指南(图灵网站下载)

附录I PHP API指南(图灵网站下载)

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/16 13:27:48