书籍详情
SQL从小白到大牛
作者:关东升
出版社:清华大学出版社
出版时间:2023-03-01
ISBN:9787302626534
定价:¥79.00
购买这本书可以去
内容简介
本书是一本讲述SQL与数据库设计的立体教程(含纸质图书、教学课件、源代码、视频教程与答疑服务)。全书共分为4篇:第1篇为SQL知识基础(第1章~第9章),介绍了SQL表管理、视图管理、修改数据、查询数据、汇总查询结果、子查询和表连接;第2篇为MySQL数据库管理系统(第10章~第13章),介绍了MySQL数据库管理系统安装和日常管理、MySQL中特有的SQL语句和MySQL数据库开发;第3篇为Oracle数据库管理系统(第14章~第16章),介绍了Oracle数据库管理系统安装和日常管理、Oracle数据库中特有的SQL语句和Oracle数据库开发;第4篇为从数据库设计到项目实战(第17章和第18章),重点介绍数据库设计,以及“PetStore宠物商店”项目的数据库设计过程。 为便于读者高效学习,快速掌握SQL编程与实践,本书提供了完整的教学课件、源代码、丰富的配套视频教程以及在线答疑服务等内容。本书适合作为普通高等学校数据库相关课程的教材,也可以作为广大程序员的参考用书。
作者简介
关东升:一个在IT领域摸爬滚打20多年的老程序员、知名培训专家、畅销书作家。精通多种IT技术。参与设计和开发北京市公交一卡通大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目,并在App Store发布多款游戏和应用软件。长期为中国移动、中国联通、中国南方航空、中国工商银行、平安银行和天津港务局等企事业单位提供培训服务。先后出版了《iOS开发指南》《Cocos2d-x实战》《Python从小白到大牛》《Java从小白到大牛》《Kotlin从小白到大牛》《Android从小白到大牛(Kotlin版)》等40多部图书。
目录
第1篇 SQL知识基础
第1章 开篇综述 3
1.1 数据管理的发展过程 3
1.2 数据逻辑模型 3
1.3 关系模型的核心概念 4
1.3.1 记录和字段 4
1.3.2 键 5
1.3.3 约束条件 6
1.4 关系模型数据库管理系统 7
1.4.1 Oracle 7
1.4.2 SQL Server 7
1.4.3 DB 2 7
1.4.4 MySQL 7
1.4.5 SQLite 7
1.5 SQL概述 8
1.5.1 SQL标准 9
1.5.2 SQL句法 9
本章小结 10
第2章 学习环境搭建 11
2.1 麻雀虽小,五脏俱全——SQLite数据库 11
2.1.1 下载SQLite数据库 11
2.1.2 配置SQLite命令行工具 12
2.2 通过命令行访问SQLite数据库 13
2.3 使用GUI工具管理SQLite数据库 15
2.3.1 下载和安装DB4S 16
2.3.2 使用DB4S 17
本章小结 21
第3章 表管理 22
3.1 创建表 22
3.2 字段数据类型 23
3.2.1 字符串数据 23
3.2.2 数字数据 23
3.2.3 日期时间数据 23
3.2.4 大型对象 24
3.3 指定键 24
3.3.1 指定候选键 24
3.3.2 指定主键 27
3.3.3 指定外键 28
3.4 其他约束 30
3.4.1 指定默认值 30
3.4.2 禁止空值 31
3.4.3 CHECK约束 31
3.5 修改表 32
3.5.1 修改表名 33
3.5.2 添加字段 33
3.5.3 删除字段 34
3.6 删除表 35
本章小结 36
第4章 视图管理 37
4.1 视图概念 37
4.2 创建视图 38
4.2.1 案例准备:Oracle自带示例——SCOTT用户数据 38
4.2.2 提出问题 39
4.2.3 解决问题 41
4.3 修改视图 42
4.4 删除视图 43
本章小结 43
第5章 修改数据 44
5.1 插入数据——INSERT语句 44
5.2 更改数据——UPDATE语句 45
5.3 删除数据——DELETE语句 46
5.4 数据库事务 47
5.4.1 理解事务概念 47
5.4.2 事务的特性 47
5.4.3 事务的状态 48
5.4.4 事务控制 48
本章小结 50
第6章 查询数据 51
6.1 SELECT语句 51
6.1.1 指定查询字段 51
6.1.2 指定字段顺序 51
6.1.3 选定所有字段 52
6.1.4 为字段指定别名 53
6.1.5 使用表达式 54
6.1.6 使用算术运算符 55
6.2 排序查询结果——ORDER BY子句 56
6.3 筛选查询结果——WHERE子句 58
6.3.1 比较运算符 58
6.3.2 逻辑运算符 58
6.3.3 IN运算符 61
6.3.4 BETWEEN运算符 62
6.3.5 LIKE运算符 63
6.3.6 运算符先后顺序 65
本章小结 67
第7章 汇总查询结果 68
7.1 聚合函数 68
7.1.1 COUNT函数 68
7.1.2 SUM函数 70
7.1.3 AVG函数 70
7.1.4 MIN和MAX函数 72
7.2 分类汇总 74
7.2.1 分组查询结果——GROUP BY子句 74
7.2.2 使用HAVING子句筛选查询结果 78
7.2.3 使用DISTINCT运算符选择唯一值 81
本章小结 83
第8章 子查询 84
8.1 子查询的概念 84
8.1.1 从一个案例引出的思考 84
8.1.2 使用子查询解决问题 84
8.2 单行子查询 85
8.2.1 示例:查找所有工资超过平均工资的员工 85
8.2.2 示例:查找工资最高的员工 86
8.2.3 示例:查找与SMITH职位相同的员工 87
8.2.4 示例:查找谁的工资超过了工资最高的销售人员 87
8.2.5 示例:查找职位与CLARK相同,且工资超过CLARK的员工 89
8.2.6 示例:查找资格最老的员工 89
8.2.7 示例:查找员工表中第2高的工资 90
8.3 多行子查询 91
8.3.1 示例:查找销售部所有员工 91
8.3.2 示例:查找与SMITH或CLARK职位不同的所有员工 92
8.4 嵌套子查询 93
8.4.1 示例:查找超出平均工资员工所在部门 93
8.4.2 示例:查找员工表中工资第3高的员工信息 94
8.5 在DML中使用子查询 95
8.5.1 在DELETE语句中使用子查询 95
8.5.2 示例:删除部门所在地为纽约的所有员工 95
8.5.3 在UPDATE语句中使用子查询 96
8.5.4 示例:给所有低于平均工资的员工涨工资 96
本章小结 96
第9章 表连接 97
9.1 表连接的概念 97
9.1.1 使用表连接重构“找出所有销售部所有员工信息”案例 97
9.1.2 准备数据 98
9.2 内连接 100
9.2.1 内连接语法1 101
9.2.2 内连接语法2 101
9.2.3 示例:找出部门在纽约的所有员工姓名 102
9.3 左连接 103
9.3.1 左连接语法 103
9.3.2 示例:员工表与部门表的左连接查询 103
9.4 右连接 104
9.4.1 右连接语法 105
9.4.2 示例:员工表与部门表的右连接查询 105
9.5 全连接 106
9.5.1 全连接语法 106
9.5.2 示例:员工表与部门表的全连接查询 107
9.6 交叉连接 107
9.6.1 交叉连接语法1 108
9.6.2 交叉连接语法2 108
本章小结 109
第2篇 MySQL数据库管理系统
第10章 MySQL数据库管理系统安装 113
10.1 MySQL概述 113
10.1.1 MySQL的主要特点 113
10.1.2 MySQL的主要版本 113
10.2 MySQL数据库安装和配置 114
10.2.1 Windows平台安装MySQL 114
10.2.2 Linux平台安装MySQL 124
10.2.3 macOS平台安装MySQL 129
本章小结 134
第11章 MySQL数据库管理系统日常管理 135
11.1 登录服务器 135
11.2 常见的管理命令 136
11.2.1 帮助命令 136
11.2.2 退出命令 137
11.2.3 数据库管理 138
11.2.4 用户管理 138
11.3 查看系统对象信息 140
11.3.1 查看库 140
11.3.2 查看表 141
11.3.3 查看表结构 141
11.3.4 执行脚本文件 142
11.4 数据库备份与恢复 144
11.4.1 备份数据库 144
11.4.2 恢复数据库 147
11.4.3 实例:在Windows备份,到Linux恢复 147
11.5 MySQL图形界面管理工具 149
11.5.1 下载和安装MySQL Workbench 149
11.5.2 配置连接数据库 152
11.5.3 管理数据库 154
11.5.4 管理表 156
11.5.5 执行SQL语句 157
本章小结 158
第12章 MySQL中特有的SQL语句 159
12.1 自增长字段 159
12.2 MySQL日期相关数据类型 160
12.3 限制返回行数 163
12.4 常用函数 165
12.4.1 数字型函数 165
12.4.2 字符串函数 167
12.4.3 日期和时间函数 169
本章小结 172
第13章 MySQL数据库开发 173
13.1 存储过程 173
13.1.1 使用存储过程重构“找出销售部所有员工信息”案例 173
13.1.2 调用存储过程 175
13.1.3 删除存储过程 176
13.2 存储过程参数 176
13.2.1 IN参数 176
13.2.2 OUT参数 178
13.2.3 INOUT参数 179
13.3 存储函数 180
13.3.1 创建存储函数 180
13.3.2 调用存储函数 183
13.3.3 删除存储函数 184
本章小结 184
第3篇 Oracle数据库管理系统
第14章 Oracle数据库管理系统的安装与日常管理 187
14.1 Oracle主要版本 187
14.2 Oracle 21c快捷版安装和配置 187
14.2.1 下载Oracle 21c快捷版 187
14.2.2 在Windows平台安装Oracle 21c快捷版 188
14.2.3 远程访问配置 192
14.3 Oracle日常管理 195
14.3.1 使用SQL Plus 195
14.3.2 登录字符串 198
14.3.3 用户管理 199
14.3.4 查看当前用户信息 201
14.3.5 执行脚本文件 203
14.4 使用Oracle SQL Developer工具 205
14.4.1 下载和安装Oracle SQL Developer 205
14.4.2 配置连接数据库 206
14.4.3 管理表 208
14.4.4 管理表数据 209
14.4.5 执行SQL语句 209
本章小结 210
第15章 Oracle数据库中特有的SQL语句 211
15.1 序列 211
15.1.1 创建序列 211
15.1.2 使用序列 212
15.1.3 修改序列 213
15.1.4 删除序列 214
15.2 标识字段 215
15.3 层次关系与递归查询 216
15.3.1 层次关系 216
15.3.2 递归查询 217
15.4 限制返回行数 218
本章小结 220
第16章 Oracle数据库开发 221
16.1 PL/SQL 221
16.1.1 匿名代码块 221
16.1.2 使用游标 223
16.2 编写第1个Oracle存储过程 224
16.2.1 调用存储过程 225
16.2.2 删除存储过程 227
16.3 存储过程参数 227
16.3.1 IN参数 227
16.3.2 OUT参数 229
16.3.3 IN OUT参数 229
16.4 存储函数 231
16.4.1 创建存储函数 231
16.4.2 调用存储函数 232
16.4.3 删除存储函数 233
本章小结 233
第4篇 从数据库设计到项目实战
第17章 数据库设计 237
17.1 数据库设计与E-R图 237
17.1.1 E-R图中的各种符号 237
17.1.2 实例:网上商城E-R图 238
17.1.3 E-R图鱼尾纹表示法 239
17.2 数据建模过程 240
17.2.1 概念模型设计 240
17.2.2 逻辑模型设计 241
17.2.3 物理模型设计 241
17.3 建模工具 241
17.3.1 PowerDesigner建模 241
17.3.2 MySQL Workbench建模 243
17.4 数据库设计范式 247
17.4.1 1NF 248
17.4.2 2NF 248
17.4.3 3NF 250
本章小结 250
第18章 项目实战:“PetStore宠物商店”项目数据库设计 251
18.1 系统分析 251
18.1.1 项目概述 251
18.1.2 需求分析 252
18.1.3 原型设计 252
18.2 数据库设计 254
18.2.1 概念模型 254
18.2.2 物理模型 255
18.3 数据库实现 256
18.3.1 编写DDL脚本 256
18.3.2 构建数据库结构 259
18.3.3 初始化数据库 260
本章小结 261
10
SQL从小白到大牛
9
目 录
第1章 开篇综述 3
1.1 数据管理的发展过程 3
1.2 数据逻辑模型 3
1.3 关系模型的核心概念 4
1.3.1 记录和字段 4
1.3.2 键 5
1.3.3 约束条件 6
1.4 关系模型数据库管理系统 7
1.4.1 Oracle 7
1.4.2 SQL Server 7
1.4.3 DB 2 7
1.4.4 MySQL 7
1.4.5 SQLite 7
1.5 SQL概述 8
1.5.1 SQL标准 9
1.5.2 SQL句法 9
本章小结 10
第2章 学习环境搭建 11
2.1 麻雀虽小,五脏俱全——SQLite数据库 11
2.1.1 下载SQLite数据库 11
2.1.2 配置SQLite命令行工具 12
2.2 通过命令行访问SQLite数据库 13
2.3 使用GUI工具管理SQLite数据库 15
2.3.1 下载和安装DB4S 16
2.3.2 使用DB4S 17
本章小结 21
第3章 表管理 22
3.1 创建表 22
3.2 字段数据类型 23
3.2.1 字符串数据 23
3.2.2 数字数据 23
3.2.3 日期时间数据 23
3.2.4 大型对象 24
3.3 指定键 24
3.3.1 指定候选键 24
3.3.2 指定主键 27
3.3.3 指定外键 28
3.4 其他约束 30
3.4.1 指定默认值 30
3.4.2 禁止空值 31
3.4.3 CHECK约束 31
3.5 修改表 32
3.5.1 修改表名 33
3.5.2 添加字段 33
3.5.3 删除字段 34
3.6 删除表 35
本章小结 36
第4章 视图管理 37
4.1 视图概念 37
4.2 创建视图 38
4.2.1 案例准备:Oracle自带示例——SCOTT用户数据 38
4.2.2 提出问题 39
4.2.3 解决问题 41
4.3 修改视图 42
4.4 删除视图 43
本章小结 43
第5章 修改数据 44
5.1 插入数据——INSERT语句 44
5.2 更改数据——UPDATE语句 45
5.3 删除数据——DELETE语句 46
5.4 数据库事务 47
5.4.1 理解事务概念 47
5.4.2 事务的特性 47
5.4.3 事务的状态 48
5.4.4 事务控制 48
本章小结 50
第6章 查询数据 51
6.1 SELECT语句 51
6.1.1 指定查询字段 51
6.1.2 指定字段顺序 51
6.1.3 选定所有字段 52
6.1.4 为字段指定别名 53
6.1.5 使用表达式 54
6.1.6 使用算术运算符 55
6.2 排序查询结果——ORDER BY子句 56
6.3 筛选查询结果——WHERE子句 58
6.3.1 比较运算符 58
6.3.2 逻辑运算符 58
6.3.3 IN运算符 61
6.3.4 BETWEEN运算符 62
6.3.5 LIKE运算符 63
6.3.6 运算符先后顺序 65
本章小结 67
第7章 汇总查询结果 68
7.1 聚合函数 68
7.1.1 COUNT函数 68
7.1.2 SUM函数 70
7.1.3 AVG函数 70
7.1.4 MIN和MAX函数 72
7.2 分类汇总 74
7.2.1 分组查询结果——GROUP BY子句 74
7.2.2 使用HAVING子句筛选查询结果 78
7.2.3 使用DISTINCT运算符选择唯一值 81
本章小结 83
第8章 子查询 84
8.1 子查询的概念 84
8.1.1 从一个案例引出的思考 84
8.1.2 使用子查询解决问题 84
8.2 单行子查询 85
8.2.1 示例:查找所有工资超过平均工资的员工 85
8.2.2 示例:查找工资最高的员工 86
8.2.3 示例:查找与SMITH职位相同的员工 87
8.2.4 示例:查找谁的工资超过了工资最高的销售人员 87
8.2.5 示例:查找职位与CLARK相同,且工资超过CLARK的员工 89
8.2.6 示例:查找资格最老的员工 89
8.2.7 示例:查找员工表中第2高的工资 90
8.3 多行子查询 91
8.3.1 示例:查找销售部所有员工 91
8.3.2 示例:查找与SMITH或CLARK职位不同的所有员工 92
8.4 嵌套子查询 93
8.4.1 示例:查找超出平均工资员工所在部门 93
8.4.2 示例:查找员工表中工资第3高的员工信息 94
8.5 在DML中使用子查询 95
8.5.1 在DELETE语句中使用子查询 95
8.5.2 示例:删除部门所在地为纽约的所有员工 95
8.5.3 在UPDATE语句中使用子查询 96
8.5.4 示例:给所有低于平均工资的员工涨工资 96
本章小结 96
第9章 表连接 97
9.1 表连接的概念 97
9.1.1 使用表连接重构“找出所有销售部所有员工信息”案例 97
9.1.2 准备数据 98
9.2 内连接 100
9.2.1 内连接语法1 101
9.2.2 内连接语法2 101
9.2.3 示例:找出部门在纽约的所有员工姓名 102
9.3 左连接 103
9.3.1 左连接语法 103
9.3.2 示例:员工表与部门表的左连接查询 103
9.4 右连接 104
9.4.1 右连接语法 105
9.4.2 示例:员工表与部门表的右连接查询 105
9.5 全连接 106
9.5.1 全连接语法 106
9.5.2 示例:员工表与部门表的全连接查询 107
9.6 交叉连接 107
9.6.1 交叉连接语法1 108
9.6.2 交叉连接语法2 108
本章小结 109
第2篇 MySQL数据库管理系统
第10章 MySQL数据库管理系统安装 113
10.1 MySQL概述 113
10.1.1 MySQL的主要特点 113
10.1.2 MySQL的主要版本 113
10.2 MySQL数据库安装和配置 114
10.2.1 Windows平台安装MySQL 114
10.2.2 Linux平台安装MySQL 124
10.2.3 macOS平台安装MySQL 129
本章小结 134
第11章 MySQL数据库管理系统日常管理 135
11.1 登录服务器 135
11.2 常见的管理命令 136
11.2.1 帮助命令 136
11.2.2 退出命令 137
11.2.3 数据库管理 138
11.2.4 用户管理 138
11.3 查看系统对象信息 140
11.3.1 查看库 140
11.3.2 查看表 141
11.3.3 查看表结构 141
11.3.4 执行脚本文件 142
11.4 数据库备份与恢复 144
11.4.1 备份数据库 144
11.4.2 恢复数据库 147
11.4.3 实例:在Windows备份,到Linux恢复 147
11.5 MySQL图形界面管理工具 149
11.5.1 下载和安装MySQL Workbench 149
11.5.2 配置连接数据库 152
11.5.3 管理数据库 154
11.5.4 管理表 156
11.5.5 执行SQL语句 157
本章小结 158
第12章 MySQL中特有的SQL语句 159
12.1 自增长字段 159
12.2 MySQL日期相关数据类型 160
12.3 限制返回行数 163
12.4 常用函数 165
12.4.1 数字型函数 165
12.4.2 字符串函数 167
12.4.3 日期和时间函数 169
本章小结 172
第13章 MySQL数据库开发 173
13.1 存储过程 173
13.1.1 使用存储过程重构“找出销售部所有员工信息”案例 173
13.1.2 调用存储过程 175
13.1.3 删除存储过程 176
13.2 存储过程参数 176
13.2.1 IN参数 176
13.2.2 OUT参数 178
13.2.3 INOUT参数 179
13.3 存储函数 180
13.3.1 创建存储函数 180
13.3.2 调用存储函数 183
13.3.3 删除存储函数 184
本章小结 184
第3篇 Oracle数据库管理系统
第14章 Oracle数据库管理系统的安装与日常管理 187
14.1 Oracle主要版本 187
14.2 Oracle 21c快捷版安装和配置 187
14.2.1 下载Oracle 21c快捷版 187
14.2.2 在Windows平台安装Oracle 21c快捷版 188
14.2.3 远程访问配置 192
14.3 Oracle日常管理 195
14.3.1 使用SQL Plus 195
14.3.2 登录字符串 198
14.3.3 用户管理 199
14.3.4 查看当前用户信息 201
14.3.5 执行脚本文件 203
14.4 使用Oracle SQL Developer工具 205
14.4.1 下载和安装Oracle SQL Developer 205
14.4.2 配置连接数据库 206
14.4.3 管理表 208
14.4.4 管理表数据 209
14.4.5 执行SQL语句 209
本章小结 210
第15章 Oracle数据库中特有的SQL语句 211
15.1 序列 211
15.1.1 创建序列 211
15.1.2 使用序列 212
15.1.3 修改序列 213
15.1.4 删除序列 214
15.2 标识字段 215
15.3 层次关系与递归查询 216
15.3.1 层次关系 216
15.3.2 递归查询 217
15.4 限制返回行数 218
本章小结 220
第16章 Oracle数据库开发 221
16.1 PL/SQL 221
16.1.1 匿名代码块 221
16.1.2 使用游标 223
16.2 编写第1个Oracle存储过程 224
16.2.1 调用存储过程 225
16.2.2 删除存储过程 227
16.3 存储过程参数 227
16.3.1 IN参数 227
16.3.2 OUT参数 229
16.3.3 IN OUT参数 229
16.4 存储函数 231
16.4.1 创建存储函数 231
16.4.2 调用存储函数 232
16.4.3 删除存储函数 233
本章小结 233
第4篇 从数据库设计到项目实战
第17章 数据库设计 237
17.1 数据库设计与E-R图 237
17.1.1 E-R图中的各种符号 237
17.1.2 实例:网上商城E-R图 238
17.1.3 E-R图鱼尾纹表示法 239
17.2 数据建模过程 240
17.2.1 概念模型设计 240
17.2.2 逻辑模型设计 241
17.2.3 物理模型设计 241
17.3 建模工具 241
17.3.1 PowerDesigner建模 241
17.3.2 MySQL Workbench建模 243
17.4 数据库设计范式 247
17.4.1 1NF 248
17.4.2 2NF 248
17.4.3 3NF 250
本章小结 250
第18章 项目实战:“PetStore宠物商店”项目数据库设计 251
18.1 系统分析 251
18.1.1 项目概述 251
18.1.2 需求分析 252
18.1.3 原型设计 252
18.2 数据库设计 254
18.2.1 概念模型 254
18.2.2 物理模型 255
18.3 数据库实现 256
18.3.1 编写DDL脚本 256
18.3.2 构建数据库结构 259
18.3.3 初始化数据库 260
本章小结 261
10
SQL从小白到大牛
9
目 录
猜您喜欢