MySQL必知必会.pdf
《MySQL必知必会.pdf》由会员分享,可在线阅读,更多相关《MySQL必知必会.pdf(252页珍藏版)》请在文库网上搜索。
1、图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权内 容 提 要MySQL 是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。本书注重实用性,操作性很强,适用于广大软件开发和数据库管理人员学习参考。图灵程序设计丛书著 英 Ben Forta译刘晓霞钟鸣责任编辑傅志红执行编辑刘静人民邮电出版社出版发行北京市崇文区夕照寺街14号邮编100061电子函件网址http:/
2、北京印刷开本:85011681/32印张:8字数:246千字 2009年 1 月第 1 版印数:1 4 000册 2009年 1 月北京第 1 次印刷著作权合同登记号 图字:01-2008-4295号MySQL必知必会ISBN 978-7-115-19112-0/TP定价:39.00元读者服务热线:(010)88593802印装质量热线:(010)67129223反盗版热线:(010)67171154图书在版编目(CIP)数据MySQL 必知必会 /(英)福塔(Forta, B.)著;刘晓霞,钟鸣译 . 北京:人民邮电出版社,2009.1(图灵程序设计丛书)书名原文:MySQL Crash C
3、ourseISBN 978-7-115-19112-0 . M. 福 刘 钟. 关系数据库 数据库管理系统,MySQL. TP311.138中国版本图书馆CIP数据核字(2008)第159272号 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权 版 权 声 明 Authorized translation from the English language edition, entitled MySQL Crash Course, 0672327120 by Ben Forta, published by Pearson Education, Inc., publishing as S
4、ams. Copyright 2006 by Sams Publishing. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.
5、Simplified Chinese-language edition copyright 2009 by Posts & Telecom Press. All rights reserved. 本书中文简体字版由 Pearson Education Inc.授权人民邮电出版社独家出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。 版权所有,侵权必究。 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权 致 谢 首先,我要感谢Sams出版公司的伙伴们,他们再一次给了我灵活的自由度, 让我把书写成我认为合适的样子。 谢谢Mark Renfrow提供的关于本书和前面几本书的反馈意见。
6、特别感谢Loretta Yates不仅在中途勇敢地介入到出版过程中,使其回归正轨,继续进行,而且还果断地签署了本系列书中后两部书籍的出版合约。 谢谢Jochem van Dieten和Timothy Boronczyk这两位技术编辑, 他们对书稿进行了出色的技术审查。余下的那些“错误”都是我“故意”犯的,就是想看看读者们有没有注意到。:-) 最后,本书是应SQL必知必会读者的请求编写的。那本书收到了很多极有价值的反馈意见和建议,在此我深表谢意。谢谢大家,我希望自己达到了大家的期望。 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权 前 言 MySQL已经成为世界上最受欢迎的数据库管理系统
7、之一。无论是用在小型开发项目上,还是用来构建那些声名显赫的网站,MySQL都证明了自己是个稳定、可靠、快速、可信的系统,足以胜任任何数据存储业务的需要。 本书基于我的一本畅销书Sams Teach Yourself SQL in 10 Minutes (中文版SQL必知必会 ,人民邮电出版社出版) ,那本书堪称全世界用得最多的一本SQL教程,重点讲解读者必须知道的东西,条理清晰,系统而扼要。但是,即使是那样一本广为使用的成功的书,也还存在着以下这些局限性。 由于要面向所有主要的数据库管理系统(DBMS) ,我不得不把针对具体DBMS的内容一再压缩。 为了简化SQL的讲解,我必须(尽可能)只写各
8、种主要的DBMS通用的SQL语句。这要求我不得不舍弃一些更好的、针对具体DBMS的解决方案。 虽然基本的SQL在不同的DBMS间具有较好的可移植性,但是高级的SQL显然不是这样的。因此,那本书里无法详细讲解比较高级的内容,如触发器、游标、存储过程、访问控制、事务等。 于是就有了这本书。本书沿用了前一本书业已成功的教程模式和组织结构,除了MySQL以外,不在其他内容上过多纠缠。书从简单的数据检索开始,逐步进入一些复杂的内容,包括联结的使用、子查询、正则1图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权2 前 言 表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的
9、章节,条理清晰、系统而扼要地让读者学到应该学到的知识,使他们不经意间立刻功力大增。 请先到第1章开始学习。读者会立刻体会到MySQL提供的所有好处。 读者对象 本书的读者对象是这样一些人: 他没有学过SQL; 他刚开始用MySQL,并希望一举成功; 他想迅速地、尽可能多地学会使用MySQL; 他希望学习怎样在自己的应用程序开发中使用MySQL; 他希望通过使用MySQL轻松快速地提高工作效率,而不用劳烦他人帮忙。 配套网站 本书有一个配套网站,网址是:http:/ 读者可以通过该网站访问如下内容: 表格创建和表格填充的脚本,可用来创建书中使用的样例表; 在线支持论坛; 在线勘误(如果发现了勘误
10、的话) ; 或许他会感兴趣的其他书。 本书约定 本书使用不同的字体区分代码和一般正文内容,对于重要的概念也采用特殊的字体。 键入的文本和屏幕上显示出的文本用等宽代码字体表示。如:It looks like this to mimic the way text looks on your screen. 2 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权前 言 3 一行代码最前面如果出现箭头()表示该行代码较长,书中一行放不下。读者录入时需要把这一行的内容紧接着上一行输入。 说明:表示跟上下文的内容相关的一些有意思的信息。 提示:提供建议,教读者用容易的办法完成某项任务。 注意:向读者提
11、示可能出现的问题,避免不必要的麻烦。 新术语,提供新的基本词汇的清晰定义。 表示读者自己键入的代码。通常出现在程序清单的旁边。 表示运行MySQL代码后得到的结果,通常出现在程序清单之后。 告诉读者这是作者对输入或输出的逐行分析。 输出 分析 输入 34图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权 目 录 第1章 了解SQL.1 1.1 数据库基础.1 1.1.1 什么是数据库.2 1.1.2 表.2 1.1.3 列和数据类型.3 1.1.4 行.4 1.1.5 主键.4 1.2 什么是SQL.5 1.3 动手实践.6 1.4 小结.7 第2章 MySQL简介.8 2.1 什么是My
12、SQL.8 2.1.1 客户机服务器软件.8 2.1.2 MySQL版本.9 2.2 MySQL工具.10 2.2.1 mysql命令行实用 程序.11 2.2.2 MySQL Adminis- trator.12 2.2.3 MySQL Query Browser.13 2.3 小结.14 第3章 使用MySQL.15 3.1 连接.15 3.2 选择数据库.16 3.3 了解数据库和表.17 3.4 小结.19 第4章 检索数据.20 4.1 SELECT语句.20 4.2 检索单个列.20 4.3 检索多个列.22 4.4 检索所有列.23 4.5 检索不同的行.24 4.6 限制结果.
13、25 4.7 使用完全限定的表名.26 4.8 小结.27 第5章 排序检索数据.28 5.1 排序数据.28 5.2 按多个列排序.30 5.3 指定排序方向.31 5.4 小结.33 第6章 过滤数据.34 6.1 使用WHERE子句.34 6.2 WHERE子句操作符.35 6.2.1 检查单个值.36 6.2.2 不匹配检查.37 6.2.3 范围值检查.37 6.2.4 空值检查.38 6.3 小结.39 第7章 数据过滤.40 7.1 组合WHERE子句.40 7.1.1 AND操作符.40 7.1.2 OR操作符.41 7.1.3 计算次序.42 图灵社区会员 臭豆腐(Stink
14、BC) 专享 尊重版权2 目 录 7.2 IN操作符.43 7.3 NOT操作符.44 7.4 小结.45 第8章 用通配符进行过滤.46 8.1 LIKE操作符.46 8.1.1 百分号(%)通配符.47 8.1.2 下划线(_)通配符.48 8.2 使用通配符的技巧.49 8.3 小结.50 第9章 用正则表达式进行搜索.51 9.1 正则表达式介绍.51 9.2 使用MySQL正则表达式.52 9.2.1 基本字符匹配.52 9.2.2 进行OR匹配.54 9.2.3 匹配几个字符之一.54 9.2.4 匹配范围.55 9.2.5 匹配特殊字符.56 9.2.6 匹配字符类.58 9.2
15、.7 匹配多个实例.58 9.2.8 定位符.59 9.3 小结.61 第10章 创建计算字段.62 10.1 计算字段.62 10.2 拼接字段.63 10.3 执行算术计算.66 10.4 小结.67 第11章 使用数据处理函数.68 11.1 函数.68 11.2 使用函数.68 11.2.1 文本处理函数.69 11.2.2 日期和时间处理 函数.71 11.2.3 数值处理函数.74 11.3 小结.74 第12章 汇总数据.75 12.1 聚集函数.75 12.1.1 AVG()函数.76 12.1.2 COUNT()函数.77 12.1.3 MAX()函数.78 12.1.4 M
16、IN()函数.79 12.1.5 SUM()函数.79 12.2 聚集不同值.80 12.3 组合聚集函数.81 12.4 小结.82 第13章 分组数据.83 13.1 数据分组.83 13.2 创建分组.83 13.3 过滤分组.85 13.4 分组和排序.87 13.5 SELECT子句顺序.88 13.6 小结.89 第14章 使用子查询.90 14.1 子查询.90 14.2 利用子查询进行过滤.90 14.3 作为计算字段使用 子查询.93 14.4 小结.96 第15章 联结表.97 15.1 联结.97 15.1.1 关系表.97 15.1.2 为什么要使用 联结.99 15.
17、2 创建联结.99 15.2.1 WHERE子句的 重要性.100 15.2.2 内部联结.103 15.2.3 联结多个表.104 15.3 小结.105 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权目 录 3 第16章 创建高级联结.106 16.1 使用表别名.106 16.2 使用不同类型的联结.107 16.2.1 自联结.107 16.2.2 自然联结.109 16.2.3 外部联结.109 16.3 使用带聚集函数的联结.111 16.4 使用联结和联结条件.112 16.5 小结.112 第17章 组合查询.113 17.1 组合查询.113 17.2 创建组合查询.
18、113 17.2.1 使用UNION.114 17.2.2 UNION规则.115 17.2.3 包含或取消重复 的行.116 17.2.4 对组合查询结果 排序.117 17.3 小结.118 第18章 全文本搜索.119 18.1 理解全文本搜索.119 18.2 使用全文本搜索.120 18.2.1 启用全文本搜索 支持.120 18.2.2 进行全文本 搜索.121 18.2.3 使用查询扩展.124 18.2.4 布尔文本搜索.126 18.2.5 全文本搜索的 使用说明.129 18.3 小结.130 第19章 插入数据.131 19.1 数据插入.131 19.2 插入完整的行.
19、131 19.3 插入多个行.134 19.4 插入检索出的数据.136 19.5 小结.138 第20章 更新和删除数据.139 20.1 更新数据.139 20.2 删除数据.141 20.3 更新和删除的指导原则.142 20.4 小结.143 第21章 创建和操纵表.144 21.1 创建表.144 21.1.1 表创建基础.144 21.1.2 使用NULL值.146 21.1.3 主键再介绍.147 21.1.4 使用AUTO_ INCREMENT.148 21.1.5 指定默认值.149 21.1.6 引擎类型.150 21.2 更新表.151 21.3 删除表.153 21.4
20、 重命名表.153 21.5 小结.154 第22章 使用视图.155 22.1 视图.155 22.1.1 为什么使用 视图.156 22.1.2 视图的规则和 限制.157 22.2 使用视图.157 22.2.1 利用视图简化 复杂的联结.157 22.2.2 用视图重新格式化 检索出的数据.158 22.2.3 用视图过滤不 想要的数据.159 22.2.4 使用视图与计算 字段.160 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权4 目 录 22.2.5 更新视图.161 22.3 小结.162 第23章 使用存储过程.163 23.1 存储过程.163 23.2 为什么要
21、使用存储过程.164 23.3 使用存储过程.165 23.3.1 执行存储过程.165 23.3.2 创建存储过程.165 23.3.3 删除存储过程.167 23.3.4 使用参数.167 23.3.5 建立智能存储 过程.170 23.3.6 检查存储过程.173 23.4 小结.173 第24章 使用游标.174 24.1 游标.174 24.2 使用游标.174 24.2.1 创建游标.175 24.2.2 打开和关闭游标.175 24.2.3 使用游标数据.176 24.3 小结.180 第25章 使用触发器.181 25.1 触发器.181 25.2 创建触发器.182 25.3
22、 删除触发器.183 25.4 使用触发器.183 25.4.1 INSERT触发器.183 25.4.2 DELETE触发器.184 25.4.3 UPDATE触发器.185 25.4.4 关于触发器的进 一步介绍.186 25.5 小结.186 第26章 管理事务处理.187 26.1 事务处理.187 26.2 控制事务处理.189 26.2.1 使用ROLLBACK.189 26.2.2 使用COMMIT.190 26.2.3 使用保留点.191 26.2.4 更改默认的提交 行为.192 26.3 小结.192 第27章 全球化和本地化.193 27.1 字符集和校对顺序.193 2
23、7.2 使用字符集和校对顺序.194 27.3 小结.196 第28章 安全管理.197 28.1 访问控制.197 28.2 管理用户.198 28.2.1 创建用户账号.199 28.2.2 删除用户账号.200 28.2.3 设置访问权限.200 28.2.4 更改口令.203 28.3 小结.204 第29章 数据库维护.205 29.1 备份数据.205 29.2 进行数据库维护.206 29.3 诊断启动问题.207 29.4 查看日志文件.207 29.5 小结.208 第30章 改善性能.209 30.1 改善性能.209 30.2 小结.211 附录A MySQL入门.212
24、 附录B 样例表.214 附录C MySQL语句的语法.220 附录D MySQL数据类型.224 附录E MySQL保留字.228 索引 .232 图灵社区会员 臭豆腐(StinkBC) 专享 尊重版权 了解SQL 本章将介绍数据库和SQL,它们是学习MySQL的先决条件。 1.1 数据库基础 你正在阅读本书,这表明你需要以某种方式与数据库打交道。在深入学习MySQL及其SQL语言的实现之前,应该对数据库及数据库技术的某些基本概念有所了解。 你可能还没有意识到,其实你自己一直在使用数据库。每当你从自己的电子邮件地址簿里查找名字时,你就在使用数据库。如果你在某个因特网搜索站点上进行搜索,也是在
25、使用数据库。如果你在工作中登录网络,也需要依靠数据库验证自己的名字和密码。即使是在自动取款机上使用ATM卡,也要利用数据库进行PIN码验证和余额检查。 虽然我们一直都在使用数据库,但对究竟什么是数据库并不十分清楚。特别是不同的人可能会使用相同的数据库术语表示不同的事物,更加剧了这种混乱。因此,我们学习的良好切入点就是给出一张最重要的数据库术语清单,并加以说明。 基本概念回顾 下面是某些基本数据库概念的简要介绍。 如果你已经具有一定的数据库经验, 这可以用于复习巩固; 如果你是一个数据库新手, 这将给你提供一些必需的基本知识。 理解数据库是掌握MySQL的一个重要部分,如果有必要的话,你应该参阅
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 必知必会