本书是面向MySQL数据库初学者的入门教材,以通俗易懂的语言、丰富实用的案例,详细讲解MySQL数据库技术。
全书共12章。第1章讲解数据库的基本概念和MySQL的安装方法;第2章讲解MySQL的基本操作;第3、4章讲解数据表和数据库的设计;第5、6章讲解单表操作和多表操作;第7~9章讲解用户与权限、视图和事务;第10、11章讲解数据库编程和数据库优化;第12章讲解Linux环境下数据库的配置和部署。
本书附有配套资源,包括教学 PPT、教学大纲、教学设计、源代码、习题等。为了帮助读者更好地学习本书中的内容,黑马程序员还提供了在线答疑服务。
本书既可作为高等院校计算机相关专业的数据库基础课程的教材,也可作为广大IT技术人员和编程爱好者的读物。
本书针对MySQL技术进行了深入分析,内容涵盖数据库的概念和原理、数据库基本操作、数据库设计、数据库编程、数据库优化及数据库配置和部署,使读者可以学以致用,具备解决实际问题的能力。
本书根据知识的难易程度,采用先易后难的方式安排章节顺序。在知识讲解时,从基本语法、注意事项、案例演示等多个角度进行详细讲解,以环环相扣的推进方式阐述每个概念的作用及相互之间的联系,帮助读者提高对MySQL数据库的整体认识,通过动手实践对所学知识进行练习,巩固所学内容。
第1章 MySQL数据库入门 1 1.1 初识数据库 1 1.1.1 数据库概述 1 1.1.2 数据管理技术的发展 2 1.1.3 数据库系统的结构 4 1.2 数据模型 6 1.2.1 数据模型概述 6 1.2.2 概念数据模型 8 1.2.3 逻辑数据模型 9 1.3 关系数据库 9 1.3.1 关系模型的数据结构 10 1.3.2 关系模型的完整性约束 11 1.3.3 关系运算 12 1.3.4 SQL简介 15 1.4 常见的数据库产品 17 1.4.1 常见的关系数据库产品 17 1.4.2 常见的非关系数据库产品 18 1.5 MySQL安装与配置 19 1.6 SQLyog图形化工具 19 1.7 本章小结 21 第2章 MySQL的基本操作 22 2.1 数据库操作 22 2.1.1 创建数据库 22 2.1.2 查看数据库 23 2.1.3 修改数据库 25 2.1.4 选择数据库 26 2.1.5 删除数据库 27 2.2 数据表操作 27 2.2.1 创建数据表 28 2.2.2 查看数据表 29 2.2.3 查看表结构 32 2.2.4 修改数据表 33 2.2.5 删除数据表 39 2.3 数据操作 40 2.3.1 添加数据 40 2.3.2 查询数据 42 2.3.3 修改数据 44 2.3.4 删除数据 46 2.4 动手实践: 电子杂志订阅表的操作 47 2.5 本章小结 48 第3章 数据表设计 49 3.1 数据类型 49 3.1.1 数值类型 49 3.1.2 日期和时间类型 56 3.1.3 字符串类型 60 3.2 表的约束 67 3.2.1 设置默认值约束 67 3.2.2 设置非空约束 71 3.2.3 设置唯一约束 73 3.2.4 设置主键约束 78 3.3 自动增长 81 3.4 字符集与校对集 86 3.4.1 字符集概述 86 3.4.2 校对集概述 88 3.4.3 字符集与校对集的设置 89 3.5 动手实践: 设计用户表 93 3.6 本章小结 93 第4章 数据库设计 94 4.1 数据库设计概述 94 4.2 数据库设计范式 96 4.3 数据库建模工具MySQL Workbench 99 4.3.1 获取MySQL Workbench 99 4.3.2 安装MySQL Workbench 100 4.3.3 操作数据库 102 4.3.4 操作数据表 107 4.3.5 绘制EE-R图 110 4.4 动手实践: 电子商务网站 112 4.5 本章小结 113 第5章 单表操作 114 5.1 数据进阶操作 114 5.1.1 复制表结构和数据 114 5.1.2 解决主键冲突 117 5.1.3 清空数据 119 5.1.4 去除查询结果中的重复记录 120 5.2 排序和限量 121 5.2.1 排序 122 5.2.2 限量 124 5.3 分组与聚合函数 126 5.3.1 分组 126 5.3.2 聚合函数 127 5.3.3 分组并使用聚合函数 129 5.3.4 分组后进行条件筛选 130 5.3.5 回溯统计 131 5.4 常用运算符 133 5.5 动手实践: 商品评论表的操作 133 5.6 本章小结 133 第6章 多表操作 134 6.1 联合查询 134 6.2 连接查询 136 6.2.1 交叉连接查询 136 6.2.2 内连接查询 138 6.2.3 外连接查询 140 6.3 子查询 143 6.3.1 子查询的分类 143 6.3.2 子查询关键字 147 6.4 外键约束 149 6.4.1 外键约束概述 150 6.4.2 添加外键约束 150 6.4.3 关联表操作 153 6.4.4 删除外键约束 155 6.5 动手实践: 多表查询练习 156 6.6 本章小结 156 第7章 用户与权限 157 7.1 用户与权限概述 157 7.2 用户管理 161 7.2.1 创建用户 161 7.2.2 修改用户 166 7.2.3 删除用户 171 7.3 权限管理 171 7.3.1 授予权限 171 7.3.2 查看权限 174 7.3.3 回收权限 175 7.3.4 刷新权限 176 7.4 动手实践: 用户与权限练习 177 7.5 本章小结 177 第8章 视图 178 8.1 初识视图 178 8.2 视图管理 179 8.2.1 创建视图 179 8.2.2 查看视图 183 8.2.3 修改视图 184 8.2.4 删除视图 186 8.3 视图数据操作 186 8.3.1 添加数据 187 8.3.2 修改数据 188 8.3.3 删除数据 189 8.4 动手实践: 视图的应用 189 8.5 本章小结 189 第9章 事务 190 9.1 事务的概念 190 9.2 事务处理 191 9.2.1 事务的基本操作 191 9.2.2 事务的保存点 194 9.3 事务日志 195 9.3.1 redo日志 195 9.3.2 undo日志 196 9.4 事务的隔离级别 197 9.4.1 隔离级别概述 197 9.4.2 查看隔离级别 198 9.4.3 修改隔离级别 198 9.4.4 使用隔离级别 199 9.5 动手实践: 事务的应用 205 9.6 本章小结 205 第10章 数据库编程 206 10.1 函数 206 10.1.1 内置函数 206 10.1.2 自定义函数 207 10.2 存储过程 211 10.2.1 存储过程概述 211 10.2.2 创建存储过程 211 10.2.3 查看存储过程 212 10.2.4 调用存储过程 215 10.2.5 修改存储过程 215 10.2.6 删除存储过程 216 10.2.7 存储过程的错误处理 217 10.3 变量 219 10.3.1 系统变量 219 10.3.2 会话变量 222 10.3.3 局部变量 224 10.4 流程控制 225 10.4.1 判断语句 225 10.4.2 循环语句 228 10.4.3 跳转语句 231 10.5 游标 232 10.5.1 游标概述 233 10.5.2 游标的基本操作 233 10.6 触发器 236 10.6.1 触发器概述 236 10.6.2 触发器的基本操作 236 10.7 事件 241 10.7.1 事件概述 241 10.7.2 事件的基本操作 242 10.8 预处理SQL语句 246 10.8.1 预处理SQL语句概述 246 10.8.2 预处理SQL语句的基本操作 247 10.9 动手实践: 数据库编程实战 249 10.10 本章小结 249 第11章 数据库优化 250 11.1 存储引擎 250 11.1.1 存储引擎概述 250 11.1.2 MySQL支持的存储引擎 251 11.1.3 InnoDB存储引擎 253 11.1.4 MyISAM存储引擎 258 11.2 索引 258 11.2.1 索引概述 258 11.2.2 索引结构 259 11.2.3 创建索引 262 11.2.4 查看索引 268 11.2.5 删除索引 270 11.2.6 索引的使用原则 272 11.3 锁机制 273 11.3.1 锁机制概述 273 11.3.2 表级锁 275 11.3.3 行级锁 279 11.4 分表技术 283 11.5 分区技术 285 11.5.1 分区概述 285 11.5.2 创建分区 285 11.5.3 增加分区 288 11.5.4 删除分区 288 11.6 整理数据碎片 290 11.7 分析SQL的执行情况 292 11.7.1 慢查询日志 292 11.7.2 通过performance_schema进行查询分析 293 11.8 动手实践: 数据库优化实战 296 11.9 本章小结 296 第12章 数据库配置和部署 297 12.1 Linux环境安装MySQL 297 12.1.1 使用APT安装MySQL 297 12.1.2 编译安装MySQL 300 12.2 MySQL配置文件 307 12.2.1 配置文件中的区段 307 12.2.2 基本配置 308 12.2.3 内存和优化配置 308 12.2.4 日志配置 309 12.3 数据备份和数据还原 310 12.4 多实例部署和主从复制 310 12.5 动手实践: 读写分离 310 12.6 本章小结 310