
作者:千锋教育高教产品研发部
页数:271
出版社:清华大学出版社
出版日期:2018
ISBN:9787302505990
电子书格式:pdf/epub/txt
内容简介
本书从初学者的角度出发,通过通俗的语言、丰富的实例详细讲解了MySQL开发应该掌握的各项技术。
全书共分13章,内容囊括MySQL数据库的基础知识和不错进阶,很后一章安排了综合案例,有助于读者巩固所学知识。书中所有知识点都结合具体实例进行讲解,对涉及的程序代码给出了详细解释,可以使读者轻松领会MySQL的精髓,快速掌握开发技能。
本书既可作为高等院校本、专科计算机相关专业的MySQL数据库入门教材,也适合广大编程爱好者自学参考。
本书特色
配备千锋教育优秀讲师的教学视频,按照本书的知识结构体系部署到教学辅助平台(扣丁学堂,http://www.codingke.com/)上,可以作为教学资源使用,也可以作为教师备课参考。
提供配套课件、源代码、习题答案等资源。
课件+视频资源+考试系统+教学网站+公众号支持+技术社区
目录
第1章 初识数据库 1
1.1 数据库入门 1
1.1.1 数据库的概念 1
1.1.2 SQL简介 2
1.1.3 常见的数据库产品 3
1.2 MySQL在Windows系统中的
安装与配置 5
1.2.1 MySQL的下载 5
1.2.2 MySQL的安装 6
1.2.3 MySQL的配置 9
1.3 MySQL目录结构 15
1.4 MySQL的使用 16
1.4.1 启动和停止MySQL服务 17
1.4.2 登录和退出MySQL数据库 19
1.4.3 MySQL的相关命令 21
1.5 MySQL客户端工具 23
1.6 本章小结 25
1.7 习题 25
第2章 数据库和表的基本操作 27
2.1 MySQL支持的数据类型 27
2.1.1 数值类型 27
2.1.2 字符串类型 28
2.1.3 日期和时间类型 29
2.2 数据库的基本操作 32
2.2.1 创建和查看数据库 32
2.2.2 使用数据库 34
2.2.3 修改数据库 35
2.2.4 删除数据库 35
2.3 数据表的基本操作 36
2.3.1 创建数据表 36
2.3.2 查看数据表 37
2.3.3 修改数据表 39
2.3.4 删除数据表 43
2.4 本章小结 43
2.5 习题 43
第3章 表中数据的基本操作 45
3.1 插入数据 45
3.1.1 为所有列插入数据 45
3.1.2 为指定列插入数据 49
3.1.3 批量插入数据 51
3.2 更新数据 54
3.3 删除数据 56
3.3.1 使用DELETE删除数据 57
3.3.2 使用TRUNCATE删除数据 58
3.4 本章小结 59
3.5 习题 59
第4章 单表查询 61
4.1 基础查询 61
4.1.1 创建数据表和表结构的说明 61
4.1.2 查询所有字段 64
4.1.3 查询指定字段 66
4.2 条件查询 67
4.2.1 带关系运算符的查询 67
4.2.2 带AND关键字的查询 68
4.2.3 带OR关键字的查询 69
4.2.4 带IN或NOT IN关键字的查询 70
4.2.5 带IS NULL或IS NOT NULL关键字的查询 71
4.2.6 带BETWEEN AND关键字的查询 72
4.2.7 带LIKE关键字的查询 73
4.2.8 带DISTINCT关键字的查询 76
4.3 高级查询 76
4.3.1 排序查询 76
4.3.2 聚合函数 79
4.3.3 分组查询 85
4.3.4 HAVING子句 87
4.3.5 LIMIT分页 88
4.4 本章小结 89
4.5 习题 89
第5章 数据的完整性 91
5.1 实体完整性 91
5.1.1 主键约束 91
5.1.2 唯一约束 97
5.1.3 自动增长列 99
5.2 索引 102
5.2.1 普通索引 102
5.2.2 唯一索引 105
5.3 域完整性 107
5.3.1 非空约束 107
5.3.2 默认值约束 109
5.4 引用完整性 111
5.4.1 外键的概念 112
5.4.2 添加外键约束 113
5.4.3 删除外键约束 115
5.5 本章小结 116
5.6 习题 117
第6章 多表查询 118
6.1 表与表之间的关系 118
6.1.1 一对一 118
6.1.2 一对多和多对一 120
6.1.3 多对多 121
6.2 合并结果集 123
6.2.1 使用UNION关键字合并 123
6.2.2 使用UNION ALL关键字合并 125
6.3 连接查询 125
6.3.1 创建数据表和表结构的说明 125
6.3.2 笛卡儿积 127
6.3.3 内连接 129
6.3.4 外连接 131
6.3.5 多表连接 133
6.3.6 自然连接 134
6.3.7 自连接 137
6.4 子查询 137
6.4.1 子查询作为查询条件 137
6.4.2 子查询作为表 139
6.5 本章小结 140
6.6 习题 140
第7章 常用函数 142
7.1 字符串函数 142
7.1.1 ASCII()函数 143
7.1.2 CONCAT()函数 144
7.1.3 INSERT()函数 144
7.1.4 LEFT()函数 145
7.1.5 RIGHT()函数 146
7.1.6 LENGTH()函数 146
7.2 数学函数 147
7.2.1 ABS()函数 147
7.2.2 MOD()函数 148
7.2.3 PI()函数 148
7.2.4 RAND()函数 148
7.2.5 ROUND()函数 149
7.2.6 TRUNCATE()函数 150
7.3 日期和时间函数 150
7.3.1 DAY()函数 151
7.3.2 WEEK()函数 151
7.3.3 MONTH()函数 152
7.3.4 YEAR()函数 153
7.3.5 NOW()函数 153
7.4 格式化函数 154
7.4.1 FORMAT()函数 154
7.4.2 DATE_FORMAT()函数 154
7.5 系统信息函数 155
7.5.1 DATABASE()函数 155
7.5.2 USER()或SYSTEM_USER()函数 156
7.5.3 VERSION()函数 156
7.6 本章小结 157
7.7 习题 157
第8章 视图 159
8.1 视图的概念 159
8.2 视图的操作 160
8.2.1 数据准备 160
8.2.2 创建视图 162
8.2.3 查看视图 165
8.2.4 修改视图 167
8.2.5 更新视图 169
8.2.6 删除视图 172
8.3 本章小结 173
8.4 习题 173
第9章 存储过程 174
9.1 存储过程概述 174
9.1.1 存储过程的概念 174
9.1.2 存储过程的优缺点 174
9.2 存储过程的相关操作 174
9.2.1 数据准备 175
9.2.2 创建存储过程 177
9.2.3 查看存储过程 180
9.2.4 修改存储过程 184
9.2.5 删除存储过程 185
9.2.6 局部变量的使用 185
9.2.7 定义条件和处理程序 186
9.2.8 光标的使用 188
9.2.9 流程控制 189
9.2.10 事件调度器 193
9.3 本章小结 195
9.4 习题 195
第10章 触发器 197
10.1 触发器概述 197
10.1.1 触发器的概念及优点 197
10.1.2 触发器的作用 197
10.2 触发器的操作 198
10.2.1 数据准备 198
10.2.2 创建触发器 199
10.2.3 查看触发器 202
10.2.4 使用触发器 204
10.2.5 删除触发器 205
10.3 小案例 206
10.4 本章小结 209
10.5 习题 209
第11章 数据库事务 210
11.1 事务的管理 210
11.1.1 事务的概念和使用 210
11.1.2 事务的回滚 214
11.1.3 事务的属性 215
11.1.4 事务的隔离级别 216
11.2 分布式事务 223
11.2.1 分布式事务的原理 223
11.2.2 分布式事务的语法和使用 223
11.3 本章小结 227
11.4 习题 227
第12章 MySQL高级操作 228
12.1 数据的备份与还原 228
12.1.1 数据的备份 228
12.1.2 数据的还原 235
12.2 权限管理 239
12.2.1 MySQL的权限 239
12.2.2 授予权限 240
12.2.3 查看权限 241
12.2.4 收回权限 241
12.3 MySQL分区 242
12.3.1 分区概述 242
12.3.2 分区类型详解 243
12.4 本章小结 249
12.5 习题 249
第13章 综合案例 251
13.1 数据准备 251
13.2 综合练习 257
13.3 本章小结 271
节选
第3章
表中数据的基本操作
本章学习目标
最 熟练掌握插入数据的方法
最 熟练掌握修改数据的方法
最 熟练掌握删除数据的方法
前面讲解了如何对数据库和表进行操作,如果想操作表中的数据,还需要通过MySQL提供的数据库操作语言来实现,本章将详细讲解如何对表中的数据进行插入、修改和删除。
3.1 插 入 数 据
向数据表中插入数据有多种方式,例如为所有列插入数据、为指定列插入数据、批量插入数据等。在实际开发中,用户应根据不同需求来决定插入数据的方式,接下来讲解几种基本的插入数据的方式。
3.1.1 为所有列插入数据
在通常情况下,向数据表中插入数据应包含表中的所有字段,也就是为表中的所有字段添加数据,为表中的所有字段添加数据有以下两种方式。
1.在INSERT语句中指定所有字段名
通过使用INSERT语句列出表的所有字段可以向表中插入数据,语法格式如下。
INSERT INTO 表名(字段名1,字段名2,…) VALUES(值1,值2,…);
在以上格式中,字段名1、字段名2等是数据表中的字段名称,值1、值2等是对应字段需要添加的数据,每个值的顺序、类型必须与字段名对应。
在讲解案例之前,首先在数据库qianfeng2中创建一个员工表emp,表结构如表3.1所示。
表3.1 emp表
字 段
数 据 类 型
说 明
id
INT
员工编号
name
VARCHAR(100)
员工姓名
gender
VARCHAR(10)
员工性别
birthday
DATE
员工生日
salary
DECIMAL(10,2)
员工工资
entry_date
DATE
员工入职日期
resume_text
VARCHAR(200)
员工简介
首先创建数据库qianfeng2,SQL语句如下。
CREATE DATABASE qianfeng2;
然后使用该数据库。
mysql> USE qianfeng2;
Database changed
接下来创建数据表emp。
mysql> CREATE TABLE emp(
-> id INT,
-> name VARCHAR(100),
-> gender VARCHAR(10),
-> birthday DATE,
-> salary DECIMAL(10,2),
-> entry_date DATE,
-> resume_text VARCHAR(200)
-> );
Query OK, 0 rows affected (0.13 sec)
以上执行结果证明了数据表创建完成。为了进一步验证,使用DESC语句查看库中的emp表。















