首页>参考读物>计算机科学与技术>数据库

MariaDB必知必会
作者 : (美)Ben Forta 著
译者 : 张艺乐 译
丛书名 : 数据库技术丛书
出版日期 : 2014-06-09
ISBN : 978-7-111-46428-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 219
开本 : 16
原书名 : MariaDB Crash Course
原出版社: Pearson Education Asia
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

前勒口
本书是国内首本关于MariaDB的中文版书籍,由畅销书作者Ben Forta亲笔撰写,MariaDB和MySQL创始人Michael “Monty” Widenius作序推荐,内容全面,讲解系统,为快速而全面掌握MariaDB提供实用指南。
本书与作者另一本《Sams Teach Yourself SQL in Ten Minutes》(该书是全世界最常用的SQL参考手册之一)的撰写风格类似,首先从简单的数据检索开始,然后逐步深入到复杂的主题,包括连接、子查询、正则表达式和全文本搜索、存储过程、游标、触发器、表约束条件等。本书系统讲解了SQL、MariaDB和MySQL的基本概念,并通过紧凑的章节设计,详细介绍MariaDB的基本操作语句及使用MariaDB进行应用开发的各种实用技术和方法。
封面
MariaDB和MySQL创始人Michael“Monty”Widenius作序推荐,资深数据库技术专家20余年工作经验结晶
国内首本关于MariaDB的中文版书籍,内容全面,讲解系统,为深入理解MariaDB提供实用指南
封底

图书前言

MariaDB是世界上最流行的数据库管理系统之一MySQL的一个分支。从小型项目的开发到世界上知名网站的使用,MySQL证明了自己对于各种层次的数据存储需求都是稳定可靠、快速且可信赖的解决方案。
在2008年,MySQL被Sun Microsystems公司收购,该公司又在2010年被Oracle公司收购。尽管MySQL被Sun收购之初被MySQL社区认为是项目发展的需要,然而好景不长,接下来后者被Oracle公司收购后,MySQL的发展远低于预期。许多MySQL开发者都离开了Sun公司和Oracle公司开始新的项目,其中之一就有Michael“Monty”Widenius——MySQL的创始人和项目的长期技术带头人。
Monty和他的团队创建了一个MySQL代码库的分流(分支),并且将此新的数据库管理系统(DBMS)命名为MariaDB。新的MariaDB DBMS期望达到的目标包括:
创建一个兼容MySQL的DBMS,可以作为直接替换元件(卸载MySQL,然后安装MariaDB,项目可以照常运行)。这是通过基于MySQL的代码库构建MariaDB实现的。
改善源代码,使MariaDB更加可靠和稳定。
加快添加特性的速率。
开发新的命名为ARIA的底层数据库引擎(如果现在不理解也没有关系)来提升性能和可靠性。
关于本书
本书从简单的数据检索开始,再到更加复杂的主题,包括连接、子查询、正则表达式、全文本搜索、存储过程、游标、触发器、表约束等。通过紧凑的章节设计,读者可以有条不紊、系统、简易地学习这些内容,迅速上手且快速应用到实际中。
本书适合的读者
SQL新手。
想要赢在起跑线上的MariaDB新手。
希望在短时间内了解MariaDB更多内容的读者。
希望学习如何在应用程序开发过程中使用MariaDB的开发人员。
希望在自学的基础上轻松自如地使用MariaDB的读者。
如果你是前面列表中描述的读者,并且需要使用MariaDB,你会发现本书是学习MariaDB最简单、最快速的方式。
如果你是MySQL新手,本书对你也很有用,因为里面的许多内容也适用于MySQL。对于读者来说,本书有一个额外的好处就是,它帮助你论证考虑转换到MariaDB的一些原因。
参考网站
可通过访问网站http://forta.com/books/0321799941/获得:
用于创建本书通篇使用的示例表的表创建和操作脚本。
在线论坛支持。
在线勘误。
你可能感兴趣的其他书籍。
本书约定
注意
与上下文讨论相关联的值得注意的内容。
提示
完成某个功能的技巧或者更简单的方式。
警告
对一些潜在问题的提醒,帮助你避免错误。
新术语
对新给出的、基本的术语提供清晰的定义。
▼ 输入
表示可以输入的代码。通常在一个程序清单之前。
▼ 输出
运行MariaDB代码产生的输出,通常在一个程序清单之后。
▼ 分析
作者对输入和输出进行细致的分析。
致谢
我要感谢Addison-Wesley的编辑们再次让我灵活和自由地编写本书。特别要感谢Mark Taber极高效地润色此书,以及他对于这个系列提出的建议。
感谢项目编辑Elaine Wiley对这个项目的推进,并且让我按计划完成,这不是一个简单的工作。
感谢Monty Widenius(MariaDB和MySQL的创始人)、Daniel Bartholomew和Colin Charles细致的技术校对与反馈。
最后,这本书是应Monty Widenius的邀请编写的。Monty是历史上许多成功数据库项目的背后驱动力,而他仍然花时间校对手稿,提供反馈,并撰写精彩的推荐序。感谢你付出的时间和提供的支持,Monty,我希望这本书达到了你的期望。

上架指导

计算机\数据库

作者简介

(美)Ben Forta 著:Ben Forta 是Adobe公司关系开发总监,有20多年的计算机行业经验,包括产品开发、支持、培训和产品营销。除本书外,他还编著了《Sams Teach Yourself SQL in 10 Minutes》、《MySQL Crash Course》、 《ColdFusion Web Application Construction Kit》、《Advanced ColdFusion Development》,以及《Sams Teach Yourself Regular Expression in 10 Minutes》等书。

译者简介

张艺乐 译:暂无简介

译者序

一开始完全是偶然看到《MariaDB Crash Course》这本书,然后深深地被作者幽默的写作风格和清晰的讲解思路所折服,于是便萌生了翻译本书的念头。而实际上,这本书是MySQL Crash Course(《MySQL必知必会》)的姊妹篇。
翻译之初,给自己定下的目标是不要翻译成英语式的汉语,索性在翻译本书的时候不去阅读《MySQL必知必会》,而翻译时投入极大的热情,仔细理解作者想要表达的意思。现在看来,大体是达到了预期定下的这个目标。
本书的标题覆盖了书中所要表达的内容,而作者也切实做到了这一点。所谓的“必知必会”,就是基础。如果没有透彻地理解基础知识,那么在这个基础上研究更高深的技术也无异于建造空中楼阁。这一点,在我实际的开发过程中深有体会,数据库的核心操作也就是增删改查,而一旦涉及数据内容的存取,就会有I/O吞吐量、内存容量、多个线程的数据读取共享问题,以及异步操作中所要考虑的数据同步问题。这些问题在实际开发中都会切实面临,需要着手解决,而这一切都建立在对基本内容有彻底的理解之上。
读者阅览本书时,也不要局限于书中所讲内容。书中给出的建议大都加上了“一般情况”这些字样,以提醒读者,书中描述的准则适用于大多数情况。对于实际的开发,需要结合具体的案例和实际的环境去调整、应变这些准则。例如,我在进行游戏项目开发时,实际使用的数据库表是没有或者很少有外键的,以便减少插入和删除语句,加快数据的存取工作。
如果你是MariaDB新手,本书无疑是使读者登堂入室的首选作品;如果读者是数据库开发的高手或者专家,空闲时回顾一下,也是大有裨益的。
本书翻译的完成离不开原书作者Ben Forta的信任,出版社编辑们的耐心帮助和审阅,同事陈一力辛苦地校对,以及广大网友的支持。
而限于时间仓促以及译者水平,翻译内容中的疏漏和错误无法完全避免,还请广大读者指正。

张艺乐
2014年4月25日

图书目录

译者序
前 言
第1章 理解SQL 1
1.1 数据库基础 1
1.1.1 什么是数据库 1
1.1.2 表 2
1.1.3 列和数据类型 3
1.1.4 行 3
1.1.5 NULL 4
1.1.6 主键 4
1.2 什么是SQL 5
1.3 试一试 5
1.4 总结 5
第2章 MariaDB入门 6
2.1 什么是MariaDB 6
2.1.1 客户端/服务器软件 7
2.1.2 MySQL兼容性 7
2.2 MariaDB工具 8
2.2.1 mysql命令行 8
2.2.2 MySQL Workbench 9
2.3 总结 10
第3章 让MariaDB运行起来 11
3.1 数据库连接 11
3.2 选择数据库 12
3.3 了解数据库和表 12
3.4 总结 15
第4章 检索数据 16
4.1 SELECT语句 16
4.2 检索单独的列 16
4.3 检索多列 17
4.4 检索所有列 18
4.5 检索不同的行 19
4.6 限定结果 20
4.7 完全限定表名 22
4.8 注释 22
4.9 总结 23
第5章 对检索的数据排序 24
5.1 数据排序 24
5.2 以多列为标准排序 26
5.3 指定排序方向 27
5.4 总结 29
第6章 过滤数据 30
6.1 WHERE子句 30
6.2 WHERE子句操作符 31
6.2.1 检查单一值 31
6.2.2 检查不匹配 32
6.2.3 检查区间值 33
6.2.4 空值检查 34
6.3 总结 35
第7章 高级数据过滤 36
7.1 组合WHERE子句 36
7.1.1 AND操作符 36
7.1.2 OR操作符 37
7.1.3 理解优先级顺序 38
7.2 IN操作符 39
7.3 NOT操作符 40
7.4 总结 41
第8章 使用通配符过滤 42
8.1 LIKE操作符 42
8.1.1 百分号(%)通配符 43
8.1.2 下划线(_)通配符 44
8.2 使用通配符的技巧 45
8.3 总结 45
第9章 正则表达式搜索 46
9.1 理解正则表达式 46
9.2 使用正则表达式 47
9.2.1 基本字符匹配 47
9.2.2 执行OR匹配 48
9.2.3 匹配多个字符中的一个 49
9.2.4 匹配范围 50
9.2.5 匹配特殊字符 51
9.2.6 匹配字符类 52
9.2.7 匹配多个实例 53
9.2.8 锚点 54
9.3 总结 55
第10章 创建计算字段 56
10.1 计算字段 56
10.2 拼接字段 57
10.3 执行算术运算 59
10.4 总结 61
第11章 数据操作函数 62
11.1 理解函数 62
11.2 使用函数 62
11.2.1 文本操作函数 63
11.2.2 日期和时间操作函数 64
11.2.3 数值操作函数 67
11.3 总结 67
第12章 数据汇总 68
12.1 聚合函数 68
12.1.1 AVG()函数 69
12.1.2 COUNT()函数 70
12.1.3 MAX()函数 71
12.1.4 MIN()函数 71
12.1.5 SUM()函数 72
12.2 聚合不同值 73
12.3 组合聚合函数 74
12.4 总结 74
第13章 数据分组 75
13.1 理解数据分组 75
13.2 创建分组 76
13.3 过滤分组 77
13.4 分组和排序 79
13.5 SELECT子句顺序 80
13.6 总结 81
第14章 子查询 82
14.1 子查询简介 82
14.2 通过子查询过滤 82
14.3 使用子查询作为计算字段 85
14.4 总结 87
第15章 多表连接 88
15.1 连接 88
15.1.1 理解关系表 88
15.1.2 为什么使用连接 89
15.2 创建连接 90
15.2.1 WHERE子句的重要性 91
15.2.2 内连接 93
15.2.3 连接多个表 94
15.3 总结 95
第16章 创建高级连接 96
16.1 表别名 96
16.2 不同类型的连接 97
16.2.1 自连接 97
16.2.2 自然连接 98
16.2.3 外连接 99
16.3 带聚合函数的连接 100
16.4 连接和连接条件 101
16.5 总结 101
第17章 联合查询 102
17.1 理解联合查询 102
17.2 创建联合查询 102
17.2.1 UNION 103
17.2.2 UNION规则 104
17.2.3 包含还是移除重复行 104
17.2.4 对联合查询结果排序 105
17.3 总结 106
第18章 全文本搜索 107
18.1 理解全文本搜索 107
18.2 使用全文本搜索 108
18.2.1 启用全文本搜索支持 108
18.2.2 执行全文本搜索 109
18.2.3 查询扩展 111
18.2.4 布尔文本搜索 113
18.2.5 全文本搜索注意事项 116
18.3 总结 116
第19章 插入数据 117
19.1 理解数据插入 117
19.2 插入完整行 117
19.3 插入多行 120
19.4 插入检索到的数据 121
19.5 总结 123
第20章 更新和删除数据 124
20.1 更新数据 124
20.2 删除数据 126
20.3 更新和删除数据的准则 127
20.4 总结 127
第21章 创建和操作表 128
21.1 创建表 128
21.1.1 基本表创建 128
21.1.2 使用NULL值 130
21.1.3 再论主键 131
21.1.4 使用Auto_INCREMENT 131
21.1.5 指定默认值 132
21.1.6 引擎类型 133
21.2 更新表 134
21.3 删除表 135
21.4 重命名表 136
21.5 总结 136
第22章 视图 137
22.1 理解视图 137
22.1.1 为何使用视图 138
22.1.2 视图规则及限制条件 138
22.2 使用视图 139
22.2.1 使用视图简化连接 139
22.2.2 使用视图重新格式化检索的数据 140
22.2.3 使用视图过滤不需要的数据 141
22.2.4 使用视图创建计算字段 142
22.2.5 更新视图 143
22.3 总结 143
第23章 存储过程 144
23.1 理解存储过程 144
23.2 为什么使用存储过程 145
23.3 使用存储过程 145
23.3.1 执行存储过程 145
23.3.2 创建存储过程 146
23.3.3 删除存储过程 147
23.3.4 使用参数 148
23.3.5 构建智能存储过程 151
23.3.6 检查存储过程 153
23.4 总结 153
第24章 游标 154
24.1 理解游标 154
24.2 使用游标 154
24.2.1 创建游标 155
24.2.2 打开和关闭游标 155
24.2.3 使用游标数据 156
24.3 总结 160
第25章 触发器 161
25.1 理解触发器 161
25.2 创建触发器 161
25.3 删除触发器 162
25.4 使用触发器 163
25.4.1 INSERT触发器 163
25.4.2 DELETE触发器 164
25.4.3 UPDATE触发器 166
25.4.4 更多触发器相关信息 166
25.5 总结 166
第26章 管理事务处理 167
26.1 理解事务处理 167
26.2 控制事务 169
26.2.1 使用ROLLBACK 169
26.2.2 使用COMMIT 169
26.2.3 使用保存点 170
26.2.4 修改默认提交行为 171
26.3 总结 171
第27章 全球化和本地化 172
27.1 理解字符集和排序规则 172
27.2 使用字符集和排序规则 172
27.3 总结 174
第28章 安全管理 175
28.1 理解访问控制 175
28.2 用户管理 176
28.2.1 创建用户账户 176
28.2.2 删除用户账户 177
28.2.3 设置访问权限 177
28.2.4 修改密码 180
28.3 总结 181
第29章 数据库维护 182
29.1 数据备份 182
29.2 执行数据库维护 182
29.3 诊断启动问题 183
29.4 检查日志文件 184
29.5 总结 184
第30章 提升性能 185
30.1 关于提升性能 185
30.2 总结 186
附录A 开始使用MariaDB 187
附录B 样例表 189
附录C MariaDB数据类型 195
附录D MariaDB保留字 199

教学资源推荐
作者: 郭晓平 朱鸣华 著
作者: [英]托马斯 M. 康诺利(Thomas M. Connolly) 卡洛琳 E. 贝格(Carolyn E. Begg)著
作者: 熊建强,吴保珍,黄文斌
作者: 邱李华,曹青,郭志强
参考读物推荐
作者: 高云君 陈璐 编著
作者: 郭鹏 著
作者: (美)Claudia Imhoff, Nicholas Galemmo, Jonathan G.Geiger
作者: (美)Kevin Loney Megh Thakkar Rachel Carmichael