MySQL与MariaDB学习指南
Russell J.T. Dyer
袁志鹏 译
出版时间:2016年10月
页数:308
也许你未曾意识到,但你时常在与MySQL或其分支打交道。作为高效且稳定的开源数据库,MySQL备受各大电商网站和社会媒体网站青睐。若想快速并深入了解如何使用和维护MySQL,本书便是绝佳参考。这本注重实践的学习指南以简单明了、条理清晰的方式,教你安装、使用和维护MySQL及其重要分支MariaDB。
本书作者既是MySQL与MariaDB专家,也是小说家。他以生动的语言和翔实的示例分析带你领略数据库设计和数据管理的方方面面。章末精心设计的习题将有助于你温故而知新。

● 创建和修改MySQL表,并在其中声明字段和列
● 通过示例,掌握数据的插入、选取、更新、删除、连接和子查询
● 使用字符串函数对列中的文本进行查找、抽取、格式化和转换
● 学习用于数学或统计运算,以及日期和时间格式化的相关函数
● 执行管理任务,例如管理账号、备份数据库和批量导入数据
● 使用PHP等各种编程语言的API连接和查询MySQL或MariaDB

“本书介绍的数据库开发和管理通用技能,将使你终身受益。”
——Monty Widenius
MySQL与MariaDB之父
“MySQL和MariaDB都是流行的数据库,阅读本书能让你快速地掌握它们。Russell举的例子简单易懂,并且贯穿整个学习过程,能助你迈入数据库专家行列。”
——Colin Charles
MariaDB公司前首席布道官,现任Percona公司首席布道官
  1. 前言
  2. 第一部分 软件
  3. 第1章 入门 
  4. 1.1 MySQL和MariaDB的价值
  5. 1.2 邮件列表和论坛
  6. 1.3 其他书籍和出版物
  7. 第2章 安装MySQL和MariaDB
  8. 2.1 安装包  
  9. 2.2 许可
  10. 2.3 获取软件
  11. 2.4 挑选发行
  12. 2.5 各种_AMP 
  13. 2.5.1 Linux二进制发行版  
  14. 2.5.2 Mac OS X发行版 
  15. 2.5.3 Windows发行版 
  16. 2.5.4 FreeBSD和Sun Solaris发行版  
  17. 2.5.5 源码包
  18. 2.6 安装后
  19. 2.6.1 特殊配置
  20. 2.6.2 给root设置初始密码
  21. 2.6.3 关于密码的更多问题,以及删除匿名用户  
  22. 2.6.4 创建用户
  23. 第3章 基础知识与mysql客户端
  24. 3.1 mysql客户端
  25. 3.2 连接到服务器
  26. 3.3 开始探索数据库
  27. 3.3.1 第一条SQL语句
  28. 3.3.2 插入和操作数据
  29. 3.3.3 再复杂一点
  30. 3.4 小结
  31. 3.5 习题
  32. 第二部分 数据库结构
  33. 第4章 创建数据库和表
  34. 4.1 创建数据库
  35. 4.2 创建表
  36. 4.3 插入数据
  37. 4.4 更深入地理解表
  38. 4.5 小结
  39. 4.6 习题
  40. 第5章 更改表
  41. 5.1 改表需谨慎
  42. 5.2 必修的改表技能
  43. 5.3 选修的改表技能
  44. 5.3.1 设置列的默认值
  45. 5.3.2 设置AUTO_INCREMENT的值
  46. 5.3.3 改表和建表的另一种方法
  47. 5.3.4 重命名一个表
  48. 5.3.5 重排序一个表
  49. 5.4 索引
  50. 5.5 小结
  51. 5.6 习题
  52. 第三部分 数据处理基础
  53. 第6章 插入数据
  54. 6.1 语法
  55. 6.2 实例 
  56. 6.2.1 鸟目表
  57. 6.2.2 鸟科表
  58. 6.2.3 鸟种表
  59. 6.3 其他选择
  60. 6.3.1 明确插入
  61. 6.3.2 插入其他表中的数据
  62. 6.3.3 题外话:设置正确的order_id
  63. 6.3.4 替换数据  82
  64. 6.3.5 数据插入的优先级
  65. 6.4 小结
  66. 6.5 习题
  67. 第7章 查询数据
  68. 7.1 基本查询
  69. 7.2 有条件地查询
  70. 7.3 结果排序
  71. 7.4 限定结果集
  72. 7.5 表连接
  73. 7.6 表达式与LIKE 
  74. 7.7 对结果集进行计数和分组
  75. 7.8 小结
  76. 7.9 习题
  77. 第8章 更新和删除数据
  78. 8.1 更新数据
  79. 8.1.1 更新指定行
  80. 8.1.2 按行数更新
  81. 8.1.3 排序后再按行数更新
  82. 8.1.4 同时更新多个表
  83. 8.1.5 处理重复
  84. 8.2 删除数据
  85. 8.3 小结
  86. 8.4 习题
  87. 第9章 表连接和子查询
  88. 9.1 合并结果集
  89. 9.2 表连接
  90. 9.2.1 基本的表连接查询
  91. 9.2.2 更新已连接的表
  92. 9.2.3 从已连接的表中删除数据
  93. 9.3 子查询
  94. 9.3.1 标量子查询
  95. 9.3.2 列子查询
  96. 9.3.3 行子查询
  97. 9.3.4 表子查询
  98. 9.3.5 子查询的性能考虑
  99. 9.4 小结
  100. 9.5 习题
  101. 第四部分 内置函数
  102. 第10章 字符串函数
  103. 10.1 格式化字符串
  104. 10.1.1 拼接字符串
  105. 10.1.2 设置大小写和引号
  106. 10.1.3 修剪和补充字符串
  107. 10.2 抽取文本
  108. 10.3 搜索字符串及使用长度函数
  109. 10.3.1 在字符串中找出某段子串的位置
  110. 10.3.2 字符串长度
  111. 10.3.3 比较和查找字符串
  112. 10.3.4 在字符串中替换或插入内容
  113. 10.4 转换字符串类型
  114. 10.5 压缩字符串
  115. 10.6 小结
  116. 10.7 习题
  117. 第11章 日期和时间函数
  118. 11.1 日期和时间的数据类型
  119. 11.2 当前日期和时间
  120. 11.3 抽取日期和时间中的某部分
  121. 11.4 格式化日期和时间
  122. 11.5 调整格式标准和时区
  123. 11.6 日期和时间的加减
  124. 11.7 比较日期和时间
  125. 11.8 小结
  126. 11.9 习题
  127. 第12章 聚合函数和数值函数
  128. 12.1 聚合函数
  129. 12.1.1 计数
  130. 12.1.2 对一组数据进行运算
  131. 12.1.3 拼接同组的值
  132. 12.2 数值函数
  133. 12.2.1 四舍五入
  134. 12.2.2 上舍入或下舍入
  135. 12.2.3 截短数字
  136. 12.2.4 消除负数
  137. 12.3 小结
  138. 12.4 习题
  139. 第五部分 数据库管理
  140. 第13章 用户账号和权限
  141. 13.1 用户账号的基础知识
  142. 13.2 限制用户账号的访问权限
  143. 13.2.1 用户名和主机
  144. 13.2.2 SQL权限
  145. 13.2.3 数据库组件和权限
  146. 13.3 管理员账号
  147. 13.3.1 用于备份的用户账号
  148. 13.3.2 用于恢复备份的用户账号
  149. 13.3.3 用于批量导入的用户账号
  150. 13.3.4 用于授权的用户账号
  151. 13.4 回收权限
  152. 13.5 删除用户账号
  153. 13.6 更改密码和用户名
  154. 13.6.1 给用户账号设置密码
  155. 13.6.2 用户账号重命名
  156. 13.7 用户角色
  157. 13.8 小结
  158. 13.9 习题
  159. 第14章 数据库的备份与恢复
  160. 14.1 备份
  161. 14.1.1 备份所有数据库
  162. 14.1.2 理解dump文件
  163. 14.1.3 备份指定的数据库
  164. 14.1.4 创建备份脚本
  165. 14.1.5 备份指定的表
  166. 14.2 恢复备份
  167. 14.2.1 恢复数据库
  168. 14.2.2 恢复表
  169. 14.2.3 只恢复某些行或列
  170. 14.2.4 用二进制日志来做恢复
  171. 14.3 制定备份策略
  172. 14.4 小结
  173. 14.5 习题
  174. 第15章 批量导入数据
  175. 15.1 准备导入
  176. 15.2 导入数据的基本做法
  177. 15.2.1 检查警告信息
  178. 15.2.2 检查导入是否准确
  179. 15.2.3 选取导入的数据
  180. 15.3 更好地导入
  181. 15.3.1 对应域
  182. 15.3.2 设置列
  183. 15.4 其他格式的域和行
  184. 15.4.1 开始、结束和跳脱
  185. 15.4.2 替换数据或忽略错误
  186. 15.5 在MySQL之外导入数据
  187. 15.5.1 导入本地文件
  188. 15.5.2 使用mysqlimport 
  189. 15.5.3 没有FILE权限也能导入数据  
  190. 15.6 批量导出数据
  191. 15.7 小结
  192. 15.8 习题
  193. 第16章 应用编程接口
  194. 16.1 创建API用户账号
  195. 16.2 C API
  196. 16.2.1 连接MySQL  
  197. 16.2.2 查询MySQL 
  198. 16.2.3 完整的最小C API程序
  199. 16.2.4 用GNU C编译器编译 
  200. 16.3 Perl DBI  
  201. 16.3.1 安装
  202. 16.3.2 连接MySQL
  203. 16.3.3 查询MySQL 
  204. 16.3.4 Perl DBI完整示例
  205. 16.3.5 更多信息
  206. 16.4 PHP API 
  207. 16.4.1 安装与配置
  208. 16.4.2 连接MySQL 
  209. 16.4.3 查询MySQL  
  210. 16.4.4 更多信息
  211. 16.5 Python  
  212. 16.5.1 安装
  213. 16.5.2 连接MySQL 
  214. 16.5.3 查询MySQL  
  215. 16.5.4 Python程序示例
  216. 16.5.5 更多信息
  217. 16.6 Ruby API 
  218. 16.6.1 安装和准备使用MySQL/Ruby 
  219. 16.6.2 连接MySQL  
  220. 16.6.3 查询MySQL 
  221. 16.6.4 MySQL/Ruby程序示例
  222. 16.6.5 更多信息
  223. 16.7 SQL注入
  224. 16.8 小结
  225. 16.9 习题
书名:MySQL与MariaDB学习指南
作者:Russell J.T. Dyer
译者:袁志鹏 译
国内出版社:人民邮电出版社
出版时间:2016年10月
页数:308
书号:978-7-115-43571-2
原版书书名:Learning MySQL and MariaDB
原版书出版商:O'Reilly Media
Russell J.T. Dyer
 
Russell J.T. Dyer现任MariaDB公司课程主管,同时是一位小说家。他曾在
MySQL公司做过近六年的知识库编辑,拥有丰富的MySQL实践经验,另著
有《MySQL核心技术手册》。作为小说家,他目前正在创作第二部小说。