书籍详情
SQL入门与实践(微课视频版)

作者:宋娟
出版社:清华大学出版社
出版时间:2024-12-01
ISBN:9787302673026
定价:¥89.80
购买这本书可以去
内容简介
SQL作为操作数据库的标准语言,可以用于执行查询、管理数据、控制数据库结构等多种任务,在数据库开发、数据分析和数据管理中扮演着重要的角色。在大数据、人工智能和机器学习的数据预处理阶段,SQL 用于数据清洗、转换和准备,是不可或缺的工具。SQL入门与实践(微课视频版)结合中小实例,详细论述了 SQL 在 MySQL、SQL Server 和 Oracle 三种关系数据库管理系统(RDBMS)中的具体应用,对比学习,有利于读者深刻理解知识点,全面掌握 SQL 的知识体系、使用方法和技巧。SQL入门与实践(微课视频版)共 20 章,详细介绍了 SQL 数据库及 SQL 语句的使用方法,具体内容包括数据库及基本操作、SQL 基础、数据表、索引、查询数据、条件查询、高级条件查询、SQL 函数的使用、聚合函数与分组数据、多表连接查询、子查询、视图、插入数据、更新和删除数据、管理数据库的安全、完整性控制、存储过程和函数、SQL 触发器、控制流语句和事务处理等。在具体介绍过程中,经验技巧和注意事项等随机融入其中,可以让读者的学习过程少走弯路。SQL入门与实践(微课视频版)内容丰富,知识体系完整,实例多,实用性强,适合作为高校计算机科学与技术、软件工程、信息管理等相关专业的教材,也适合各类数据库管理人员、数据库开发人员和程序员参考学习。
作者简介
宋娟,副教授,长期从事弱电系统设计、计算机网络及应用方面的教学、科研、管理和技术服务工作,担任计算机应用、电气设计、网络与通信相关课程教学工作。
目录
第 1 章 数据库及基本操作 1
1.1 数据库基础知识 1
1.1.1 数据库的应用 1
1.1.2 数据库相关术语 1
1.1.3 SQL 简介 2
1.1.4 数据库的类型 3
1.2 主要关系数据库管理系统简介 3
1.2.1 MySQL 3
1.2.2 SQL Server 3
1.2.3 Oracle 4
1.3 在 MySQL 中执行 SQL 语句 4
1.3.1 安装 MySQL 4
1.3.2 使用命令行执行 SQL 语句 5
1.3.3 使用 Workbench 执行 SQL 语句 6
1.4 在 SQL Server 中执行 SQL 语句 9
1.4.1 SQL Server 2022 的安装 9
1.4.2 使用 SQL Server 管理工具创建数据库 10
1.4.3 使用 SQL Server 管理工具执行SQL 语句 11
1.5 在 Oracle 21c 中执行 SQL 语句 13
1.5.1 安装 Oracle 21c 13
1.5.2 使用 SQL Developer 执行 SQL语句 15
1.5.3 使用 SQL Plus 执行 SQL 语句 17
第 2 章 SQL 基础 20
2.1 SQL 概述 20
2.1.1 SQL 的历史 20
2.1.2 SQL 的特点 20
2.1.3 SQL 的功能 21
2.2 SQL 的组成 22
2.2.1 数据定义语言 22
2.2.2 数据查询语言 22
2.2.3 数据操纵语言 23
2.2.4 数据控制语言 23
2.3 探索 SQL 环境 23
2.3.1 了解 SQL 执行环境 23
2.3.2 了解 SQL 数据库的层次结构 24
2.3.3 在 SQL 环境中命名对象 24
第 3 章 数据表 26
3.1 数据类型 26
3.1.1 SQL 常用数据类型 26
3.1.2 MySQL 中的数据类型 27
3.1.3 SQL Server 中的数据类型 30
3.1.4 Oracle 中的数据类型 32
3.2 数据表基础 33
3.2.1 数据表中的记录和字段 33
3.2.2 表结构 34
3.3 表逻辑设计 34
3.3.1 E-R 模型图 34
3.3.2 规范化与范式 36
3.4 表的创建(CREATE TABLE) 36
3.4.1 使用 CREATE TABLE 语句创建表 36
3.4.2 创建带有主键的表 38
3.5 表结构的修改(ALTER TABLE) 39
3.5.1 ALTER TABLE 语句格式 39
3.5.2 增加新字段 40
3.5.3 增加带有默认值的新字段 42
3.5.4 修改字段的类型和宽度 43
3.5.5 删除字段 45
3.5.6 删除带有默认值的字段 45
3.5.7 更改主键 47
3.6 表的删除、截断与重命名 48
3.6.1 删除表 48
3.6.2 截断表 48
3.6.3 重命名表 48
3.7 创建与删除数据库 49
3.7.1 创建数据库 49
3.7.2 删除数据库 50
3.7.3 创建本书使用的数据表 50
第 4 章 索引 54
4.1 索引基础 54
4.1.1 使用索引的原因 54
4.1.2 索引的种类 54
4.2 索引的创建和使用 55
4.2.1 创建索引前应当注意的内容 55
4.2.2 创建索引的 SQL 语句 56
4.2.3 创建和使用非聚簇索引 57
4.2.4 创建和使用唯一索引 60
4.3 索引的删除 61
第 5 章 查询数据—SELECT 语句 63
5.1 SELECT 语句的组成结构 63
5.1.1 最基本的语法格式 63
5.1.2 带有主要子句的语法格式 64
5.1.3 SELECT 各子句的执行顺序 64
5.1.4 关于 SELECT 语句的一些说明 65
5.2 查询数据 65
5.2.1 查询单字段的方法 65
5.2.2 去除重复信息—DISTINCT 66
5.2.3 查询多字段 67
5.2.4 查询所有字段 67
5.2.5 根据现有字段值计算新字段值 68
5.2.6 命名新列(别名)—AS 69
5.2.7 将查询结果保存为新表 70
5.2.8 连接字段 71
5.3 排序数据 73
5.3.1 按单字段排序 73
5.3.2 设置排序方向 74
5.3.3 按多字段排序 75
5.3.4 按字段位置排序 75
第 6 章 条件查询 77
6.1 条件表达式 77
6.1.1 指针与字段变量的概念 77
6.1.2 条件表达式 78
6.2 使用 WHERE 关键字设置查询条件 80
6.2.1 WHERE 子句用法 80
6.2.2 查询数值数据 81
6.2.3 查询字符型数据 83
6.2.4 查询日期数据 84
6.2.5 按范围查询数据(BETWEEN) 85
6.2.6 查询空值 86
6.3 排序条件查询的结果 86
6.4 查询前 n 条记录 87
第 7 章 高级条件查询 89
7.1 组合 WHERE 子句 89
7.1.1 AND 运算符 89
7.1.2 OR 运算符 91
7.1.3 AND 与 OR 的优先顺序问题 91
7.2 IN 运算符 93
7.2.1 使用 IN 运算符 93
7.2.2 使用 IN 运算符的优点 94
7.3 NOT 运算符 96
7.4 实现模糊查询 98
7.4.1 LIKE 运算符 98
7.4.2 “%”通配符 99
7.4.3 使用“%”通配符查询日期型数据 101
7.4.4 “_”通配符 103
7.4.5 正则表达式 104
7.4.6 定义转义字符 106
第 8 章 SQL 函数的使用 108
8.1 SQL 函数的说明 108
8.2 SQL Server 的函数 108
8.2.1 类型转换函数 108
8.2.2 日期函数 111
8.2.3 数值函数 115
8.2.4 字符函数 116
8.3 Oracle 的函数 120
8.3.1 类型转换函数 120
8.3.2 日期函数 123
8.3.3 数值函数 126
8.3.4 字符函数 127
8.4 MySQL 的函数 128
8.4.1 类型转换函数 128
8.4.2 日期函数 129
8.4.3 数值函数 131
8.4.4 字符函数 132
8.5 将 NULL 更改为其他值的函数 132
8.5.1 SQL Server 的 ISNULL()函数 132
8.5.2 Oracle 的 NVL()函数 133
8.5.3 MySQL 的 IFNULL()函数 134
8.6 IF…ELSE 逻辑函数 134
8.6.1 DECODE()函数 134
8.6.2 CASE()函数 135
第 9 章 聚合函数与分组数据 136
9.1 聚合函数 136
9.1.1 使用 COUNT()函数求记录个数 136
9.1.2 使用 SUM()函数求某字段的和 138
9.1.3 使用 AVG()函数求某字段的平均值 140
9.1.4 使用 MAX()、MIN()函数求最大、最小值 140
9.1.5 统计汇总相异值(不同值)记录 141
9.1.6 聚合函数对 NULL 值的处理 141
9.2 数据分组 144
9.2.1 将表内容按列分组 144
9.2.2 聚合函数与分组配合使用 145
9.2.3 查询数据的直方图 146
9.2.4 排序分组结果 147
9.2.5 反转查询结果 147
9.2.6 使用 HAVING 子句设置分组查询条件 149
9.2.7 HAVING 子句与 WHERE 子句的区别 149
第 10 章 多表连接查询 151
10.1 将数据存储在多个不同表的原因 151
10.2 范式 152
10.3 连接查询 153
10.3.1 连接两表的方法 153
10.3.2 使用笛卡儿积解决录入难题 155
10.3.3 使用两表连接查询数据 157
10.3.4 多表连接查询 157
10.3.5 使用表别名简化语句 158
10.3.6 使用 INNER JOIN 连接查询 160
10.4 高级连接查询 161
10.4.1 自连接查询 161
10.4.2 内连接查询 163
10.4.3 外连接查询 165
10.4.4 交叉连接查询 167
10.4.5 连接查询中使用聚合函数 169
10.5 组合查询 170
10.5.1 使用组合查询 170
10.5.2 使用 UNION 的规则 173
10.5.3 使用 UNION 解决不支持全外连接的问题 174
10.5.4 使用 UNION 得到复杂的统计汇总样式 175
10.5.5 排序组合查询的结果 175
第 11 章 子查询 178
11.1 返回单值的子查询 178
11.1.1 使用返回单值的子查询 178
11.1.2 子查询与聚合函数的配合使用 179
11.2 返回一列值的子查询 182
11.2.1 使用 IN 的子查询 182
11.2.2 使用 NOT IN 的子查询 183
11.3 相关子查询 183
第 12 章 视图 186
12.1 视图基础 186
12.1.1 视图引例 186
12.1.2 使用视图的原因以及注意问题 188
12.1.3 视图的规则和限制 189
12.2 视图的创建 190
12.2.1 创建视图的 SQL 语句 190
12.2.2 利用视图提高数据安全性 192
12.2.3 利用视图得到汇总数据 193
12.2.4 利用视图简化计算字段的使用 195
12.2.5 利用视图简化多表连接 196
12.3 视图的删除 197
第 13 章 插入数据 198
13.1 直接向表插入数据 198
13.1.1 插入完整的行 198
13.1.2 向日期和时间型字段插入数据 199
13.1.3 将数据插入到指定字段 201
13.1.4 将查询结果插入表 204
13.1.5 INSERT SELECT 与 SELECT INTO 的区别 205
13.2 通过视图插入数据 205
13.2.1 通过视图插入数据的方法 206
13.2.2 使用带有 WITH CHECK OPTION 选项的视图 208
第 14 章 更新和删除数据 209
14.1 更新表中的数据 209
14.1.1 更新单个字段的数据 209
14.1.2 更新多个字段的数据 211
14.1.3 使用子查询更新数据 212
14.1.4 使用表连接更新数据 213
14.1.5 使用 UPDATE 语句删除指定字段的数据 214
14.2 删除表中的数据 215
14.2.1 使用 DELETE 语句删除指定记录 215
14.2.2 在 DELETE 语句中使用多表连接 217
14.2.3 使用 DELETE 语句删除所有记录 218
14.2.4 使用 TRUNCATE 语句删除所有记录 219
14.3 通过视图更新表 219
14.3.1 不能用于更新的视图 219
14.3.2 通过视图更新表数据 220
14.3.3 通过视图删除表数据 222
第 15 章 管理数据库的安全 224
15.1 MySQL 数据库安全 224
15.1.1 权限相关的表 224
15.1.2 用 SQL 语句创建用户与授权 225
15.1.3 MySQL Workbench 创建用户与授权 227
15.2 Oracle 数据库用户管理 229
15.2.1 创建用户 229
15.2.2 修改用户 231
15.2.3 给用户授予 CREATE SESSION权限 231
15.2.4 给用户授予 SELECT 权限 233
15.2.5 给用户授予 INSERT、UPDATE 和 DELETE 权限 235
15.2.6 给用户授予系统权限 238
15.2.7 给所有用户授予权限 239
15.2.8 查看用户拥有的权限 240
15.2.9 取消用户的指定权限 241
15.2.10 删除用户 242
15.3 Oracle 数据库角色管理 242
15.3.1 角色的概念 242
15.3.2 创建角色——CREATE ROLE 243
15.3.3 给角色授权——GRANT 243
15.3.4 将角色授予用户——GRANT 244
15.3.5 查看角色的权限 246
15.3.6 取消角色——REVOKE 248
15.3.7 删除角色——DROP ROLE 248
15.3.8 Oracle 中系统预定义的角色 248
15.4 SQL Server 安全管理 249
15.4.1 SQL Server 的安全认证模式 249
15.4.2 向 SQL Server 添加安全账户 250
15.4.3 从 SQL Server 删除安全账户 252
15.4.4 SQL Server 权限管理 253
15.4.5 SQL Server 角色管理 255
第 16 章 完整性控制 258
16.1 了解完整性约束 258
16.1.1 数据的完整性 258
16.1.2 完整性约束的类型 259
16.2 与表有关的约束 260
16.2.1 字段约束与表约束的创建 260
16.2.2 非空约束 260
16.2.3 唯一约束 262
16.2.4 主键约束 264
16.2.5 外键约束 266
16.2.6 校验约束 268
16.3 扩展外键约束的内容 270
第 17 章 存储过程和函数 274
17.1 存储过程基础 274
17.1.1 存储过程基础 274
17.1.2 存储过程的优点 275
17.2 在 MySQL 中创建和使用存储过程 276
17.2.1 创建存储过程的语法 276
17.2.2 调用存储过程 277
17.2.3 创建带输出参数的存储过程 277
17.2.4 删除存储过程 278
17.3 在 SQL Server 中创建和使用存储过程 279
17.3.1 SQL Server 的系统存储过程 279
17.3.2 创建存储过程的语法 280
17.3.3 调用语句 EXECUTE 的语法 281
17.3.4 创建简单存储过程 282
17.3.5 创建带输入参数的存储过程 283
17.3.6 给输入参数设置默认值 284
17.3.7 创建带输出参数的存储过程 285
17.3.8 创建有多条 SQL 语句的存储过程 286
17.3.9 删除存储过程 287
17.4 在 SQL Server 中创建和使用函数 288
17.4.1 标量值函数 289
17.4.2 表值函数 290
17.4.3 删除用户定义函数 292
17.5 SQL Server 几个系统存储过程的使用 293
17.5.1 使用 sp_rename 重命名对象 293
17.5.2 使用 sp_depends 显示引用对象 293
17.5.3 使用 sp_help 显示对象信息 294
17.5.4 使用 sp_helptext 显示对象的源码 294
17.6 Oracle 中的存储过程和函数 295
17.6.1 在 Oracle 中使用存储过程 295
17.6.2 在 Oracle 中使用函数 296
17.6.3 在 Oracle 中使用 user_source获取信息 297
第 18 章 SQL 触发器 298
18.1 SQL 触发器基础 298
18.2 在 SQL Server 中创建和使用触发器 298
18.2.1 创建触发器的语法 299
18.2.2 使用 INSERT 触发器 300
18.2.3 使用 DELETE 触发器 302
18.2.4 使用 UPDATE 触发器 303
18.2.5 使用 INSTEAD OF 触发器 305
18.2.6 使用条件插入触发器 306
18.2.7 删除触发器 309
18.3 在 Oracle 中创建和使用触发器 309
18.3.1 创建触发器的语法 309
18.3.2 行级触发器 310
18.3.3 语句级触发器 311
18.3.4 判断所执行的数据修改操作 312
18.3.5 系统触发器 312
18.3.6 追踪数据库启动与关闭信息 313
18.3.7 追踪用户 DDL 操作信息 316
18.3.8 禁用和删除触发器 318
18.3.9 从 user_triggers 中查询触发器信息 319
18.4 在 MySQL 中创建和使用触发器 320
18.4.1 创建触发器的语法 320
18.4.2 使用 INSERT 触发器 320
18.4.3 删除触发器 322
第 19 章 控制流语句 323
19.1 SQL Server 的控制流语句 323
19.1.1 BEGIN…END 语句 323
19.1.2 IF…ELSE 语句 323
19.1.3 WHILE 语句 324
19.1.4 BREAK 命令 325
19.1.5 CONTINUE 命令 325
19.1.6 WAITFOR 语句 326
19.2 Oracle 的控制流语句 326
19.2.1 IF…THEN…ELSE 语句 327
19.2.2 IF…THEN…ELSIF 语句 327
19.2.3 LOOP 语句 328
19.2.4 WHILE 语句 328
19.2.5 FOR 语句 329
19.3 MySQL 的控制流语句 329
19.3.1 IF…THEN…ELSE 语句 329
19.3.2 LOOP 语句 330
19.3.3 REPEAT 语句 331
19.3.4 WHILE 语句 331
19.4 控制流语句的应用 332
19.4.1 判断数据库对象是否存在 332
19.4.2 向日志表循环插入日期数据 335
19.4.3 使用游标和循环提取数据 337
第 20 章 事务处理 340
20.1 事务基础 340
20.1.1 事务的概念 340
20.1.2 事务的案例 340
20.1.3 事务的 ACID 特性 341
20.2 控制事务处理 341
20.2.1 开始事务处理 341
20.2.2 使用 ROLLBACK 撤销事务 342
20.2.3 使用 COMMIT 提交事务 345
20.2.4 根据判断提交或撤销事务 348
20.2.5 Oracle 的语句级事务处理 350
20.2.6 使用保存点 351
20.3 并发事务 353
20.3.1 并发事务处理 353
20.3.2 事务锁 354
20.3.3 事务隔离级别 355
1.1 数据库基础知识 1
1.1.1 数据库的应用 1
1.1.2 数据库相关术语 1
1.1.3 SQL 简介 2
1.1.4 数据库的类型 3
1.2 主要关系数据库管理系统简介 3
1.2.1 MySQL 3
1.2.2 SQL Server 3
1.2.3 Oracle 4
1.3 在 MySQL 中执行 SQL 语句 4
1.3.1 安装 MySQL 4
1.3.2 使用命令行执行 SQL 语句 5
1.3.3 使用 Workbench 执行 SQL 语句 6
1.4 在 SQL Server 中执行 SQL 语句 9
1.4.1 SQL Server 2022 的安装 9
1.4.2 使用 SQL Server 管理工具创建数据库 10
1.4.3 使用 SQL Server 管理工具执行SQL 语句 11
1.5 在 Oracle 21c 中执行 SQL 语句 13
1.5.1 安装 Oracle 21c 13
1.5.2 使用 SQL Developer 执行 SQL语句 15
1.5.3 使用 SQL Plus 执行 SQL 语句 17
第 2 章 SQL 基础 20
2.1 SQL 概述 20
2.1.1 SQL 的历史 20
2.1.2 SQL 的特点 20
2.1.3 SQL 的功能 21
2.2 SQL 的组成 22
2.2.1 数据定义语言 22
2.2.2 数据查询语言 22
2.2.3 数据操纵语言 23
2.2.4 数据控制语言 23
2.3 探索 SQL 环境 23
2.3.1 了解 SQL 执行环境 23
2.3.2 了解 SQL 数据库的层次结构 24
2.3.3 在 SQL 环境中命名对象 24
第 3 章 数据表 26
3.1 数据类型 26
3.1.1 SQL 常用数据类型 26
3.1.2 MySQL 中的数据类型 27
3.1.3 SQL Server 中的数据类型 30
3.1.4 Oracle 中的数据类型 32
3.2 数据表基础 33
3.2.1 数据表中的记录和字段 33
3.2.2 表结构 34
3.3 表逻辑设计 34
3.3.1 E-R 模型图 34
3.3.2 规范化与范式 36
3.4 表的创建(CREATE TABLE) 36
3.4.1 使用 CREATE TABLE 语句创建表 36
3.4.2 创建带有主键的表 38
3.5 表结构的修改(ALTER TABLE) 39
3.5.1 ALTER TABLE 语句格式 39
3.5.2 增加新字段 40
3.5.3 增加带有默认值的新字段 42
3.5.4 修改字段的类型和宽度 43
3.5.5 删除字段 45
3.5.6 删除带有默认值的字段 45
3.5.7 更改主键 47
3.6 表的删除、截断与重命名 48
3.6.1 删除表 48
3.6.2 截断表 48
3.6.3 重命名表 48
3.7 创建与删除数据库 49
3.7.1 创建数据库 49
3.7.2 删除数据库 50
3.7.3 创建本书使用的数据表 50
第 4 章 索引 54
4.1 索引基础 54
4.1.1 使用索引的原因 54
4.1.2 索引的种类 54
4.2 索引的创建和使用 55
4.2.1 创建索引前应当注意的内容 55
4.2.2 创建索引的 SQL 语句 56
4.2.3 创建和使用非聚簇索引 57
4.2.4 创建和使用唯一索引 60
4.3 索引的删除 61
第 5 章 查询数据—SELECT 语句 63
5.1 SELECT 语句的组成结构 63
5.1.1 最基本的语法格式 63
5.1.2 带有主要子句的语法格式 64
5.1.3 SELECT 各子句的执行顺序 64
5.1.4 关于 SELECT 语句的一些说明 65
5.2 查询数据 65
5.2.1 查询单字段的方法 65
5.2.2 去除重复信息—DISTINCT 66
5.2.3 查询多字段 67
5.2.4 查询所有字段 67
5.2.5 根据现有字段值计算新字段值 68
5.2.6 命名新列(别名)—AS 69
5.2.7 将查询结果保存为新表 70
5.2.8 连接字段 71
5.3 排序数据 73
5.3.1 按单字段排序 73
5.3.2 设置排序方向 74
5.3.3 按多字段排序 75
5.3.4 按字段位置排序 75
第 6 章 条件查询 77
6.1 条件表达式 77
6.1.1 指针与字段变量的概念 77
6.1.2 条件表达式 78
6.2 使用 WHERE 关键字设置查询条件 80
6.2.1 WHERE 子句用法 80
6.2.2 查询数值数据 81
6.2.3 查询字符型数据 83
6.2.4 查询日期数据 84
6.2.5 按范围查询数据(BETWEEN) 85
6.2.6 查询空值 86
6.3 排序条件查询的结果 86
6.4 查询前 n 条记录 87
第 7 章 高级条件查询 89
7.1 组合 WHERE 子句 89
7.1.1 AND 运算符 89
7.1.2 OR 运算符 91
7.1.3 AND 与 OR 的优先顺序问题 91
7.2 IN 运算符 93
7.2.1 使用 IN 运算符 93
7.2.2 使用 IN 运算符的优点 94
7.3 NOT 运算符 96
7.4 实现模糊查询 98
7.4.1 LIKE 运算符 98
7.4.2 “%”通配符 99
7.4.3 使用“%”通配符查询日期型数据 101
7.4.4 “_”通配符 103
7.4.5 正则表达式 104
7.4.6 定义转义字符 106
第 8 章 SQL 函数的使用 108
8.1 SQL 函数的说明 108
8.2 SQL Server 的函数 108
8.2.1 类型转换函数 108
8.2.2 日期函数 111
8.2.3 数值函数 115
8.2.4 字符函数 116
8.3 Oracle 的函数 120
8.3.1 类型转换函数 120
8.3.2 日期函数 123
8.3.3 数值函数 126
8.3.4 字符函数 127
8.4 MySQL 的函数 128
8.4.1 类型转换函数 128
8.4.2 日期函数 129
8.4.3 数值函数 131
8.4.4 字符函数 132
8.5 将 NULL 更改为其他值的函数 132
8.5.1 SQL Server 的 ISNULL()函数 132
8.5.2 Oracle 的 NVL()函数 133
8.5.3 MySQL 的 IFNULL()函数 134
8.6 IF…ELSE 逻辑函数 134
8.6.1 DECODE()函数 134
8.6.2 CASE()函数 135
第 9 章 聚合函数与分组数据 136
9.1 聚合函数 136
9.1.1 使用 COUNT()函数求记录个数 136
9.1.2 使用 SUM()函数求某字段的和 138
9.1.3 使用 AVG()函数求某字段的平均值 140
9.1.4 使用 MAX()、MIN()函数求最大、最小值 140
9.1.5 统计汇总相异值(不同值)记录 141
9.1.6 聚合函数对 NULL 值的处理 141
9.2 数据分组 144
9.2.1 将表内容按列分组 144
9.2.2 聚合函数与分组配合使用 145
9.2.3 查询数据的直方图 146
9.2.4 排序分组结果 147
9.2.5 反转查询结果 147
9.2.6 使用 HAVING 子句设置分组查询条件 149
9.2.7 HAVING 子句与 WHERE 子句的区别 149
第 10 章 多表连接查询 151
10.1 将数据存储在多个不同表的原因 151
10.2 范式 152
10.3 连接查询 153
10.3.1 连接两表的方法 153
10.3.2 使用笛卡儿积解决录入难题 155
10.3.3 使用两表连接查询数据 157
10.3.4 多表连接查询 157
10.3.5 使用表别名简化语句 158
10.3.6 使用 INNER JOIN 连接查询 160
10.4 高级连接查询 161
10.4.1 自连接查询 161
10.4.2 内连接查询 163
10.4.3 外连接查询 165
10.4.4 交叉连接查询 167
10.4.5 连接查询中使用聚合函数 169
10.5 组合查询 170
10.5.1 使用组合查询 170
10.5.2 使用 UNION 的规则 173
10.5.3 使用 UNION 解决不支持全外连接的问题 174
10.5.4 使用 UNION 得到复杂的统计汇总样式 175
10.5.5 排序组合查询的结果 175
第 11 章 子查询 178
11.1 返回单值的子查询 178
11.1.1 使用返回单值的子查询 178
11.1.2 子查询与聚合函数的配合使用 179
11.2 返回一列值的子查询 182
11.2.1 使用 IN 的子查询 182
11.2.2 使用 NOT IN 的子查询 183
11.3 相关子查询 183
第 12 章 视图 186
12.1 视图基础 186
12.1.1 视图引例 186
12.1.2 使用视图的原因以及注意问题 188
12.1.3 视图的规则和限制 189
12.2 视图的创建 190
12.2.1 创建视图的 SQL 语句 190
12.2.2 利用视图提高数据安全性 192
12.2.3 利用视图得到汇总数据 193
12.2.4 利用视图简化计算字段的使用 195
12.2.5 利用视图简化多表连接 196
12.3 视图的删除 197
第 13 章 插入数据 198
13.1 直接向表插入数据 198
13.1.1 插入完整的行 198
13.1.2 向日期和时间型字段插入数据 199
13.1.3 将数据插入到指定字段 201
13.1.4 将查询结果插入表 204
13.1.5 INSERT SELECT 与 SELECT INTO 的区别 205
13.2 通过视图插入数据 205
13.2.1 通过视图插入数据的方法 206
13.2.2 使用带有 WITH CHECK OPTION 选项的视图 208
第 14 章 更新和删除数据 209
14.1 更新表中的数据 209
14.1.1 更新单个字段的数据 209
14.1.2 更新多个字段的数据 211
14.1.3 使用子查询更新数据 212
14.1.4 使用表连接更新数据 213
14.1.5 使用 UPDATE 语句删除指定字段的数据 214
14.2 删除表中的数据 215
14.2.1 使用 DELETE 语句删除指定记录 215
14.2.2 在 DELETE 语句中使用多表连接 217
14.2.3 使用 DELETE 语句删除所有记录 218
14.2.4 使用 TRUNCATE 语句删除所有记录 219
14.3 通过视图更新表 219
14.3.1 不能用于更新的视图 219
14.3.2 通过视图更新表数据 220
14.3.3 通过视图删除表数据 222
第 15 章 管理数据库的安全 224
15.1 MySQL 数据库安全 224
15.1.1 权限相关的表 224
15.1.2 用 SQL 语句创建用户与授权 225
15.1.3 MySQL Workbench 创建用户与授权 227
15.2 Oracle 数据库用户管理 229
15.2.1 创建用户 229
15.2.2 修改用户 231
15.2.3 给用户授予 CREATE SESSION权限 231
15.2.4 给用户授予 SELECT 权限 233
15.2.5 给用户授予 INSERT、UPDATE 和 DELETE 权限 235
15.2.6 给用户授予系统权限 238
15.2.7 给所有用户授予权限 239
15.2.8 查看用户拥有的权限 240
15.2.9 取消用户的指定权限 241
15.2.10 删除用户 242
15.3 Oracle 数据库角色管理 242
15.3.1 角色的概念 242
15.3.2 创建角色——CREATE ROLE 243
15.3.3 给角色授权——GRANT 243
15.3.4 将角色授予用户——GRANT 244
15.3.5 查看角色的权限 246
15.3.6 取消角色——REVOKE 248
15.3.7 删除角色——DROP ROLE 248
15.3.8 Oracle 中系统预定义的角色 248
15.4 SQL Server 安全管理 249
15.4.1 SQL Server 的安全认证模式 249
15.4.2 向 SQL Server 添加安全账户 250
15.4.3 从 SQL Server 删除安全账户 252
15.4.4 SQL Server 权限管理 253
15.4.5 SQL Server 角色管理 255
第 16 章 完整性控制 258
16.1 了解完整性约束 258
16.1.1 数据的完整性 258
16.1.2 完整性约束的类型 259
16.2 与表有关的约束 260
16.2.1 字段约束与表约束的创建 260
16.2.2 非空约束 260
16.2.3 唯一约束 262
16.2.4 主键约束 264
16.2.5 外键约束 266
16.2.6 校验约束 268
16.3 扩展外键约束的内容 270
第 17 章 存储过程和函数 274
17.1 存储过程基础 274
17.1.1 存储过程基础 274
17.1.2 存储过程的优点 275
17.2 在 MySQL 中创建和使用存储过程 276
17.2.1 创建存储过程的语法 276
17.2.2 调用存储过程 277
17.2.3 创建带输出参数的存储过程 277
17.2.4 删除存储过程 278
17.3 在 SQL Server 中创建和使用存储过程 279
17.3.1 SQL Server 的系统存储过程 279
17.3.2 创建存储过程的语法 280
17.3.3 调用语句 EXECUTE 的语法 281
17.3.4 创建简单存储过程 282
17.3.5 创建带输入参数的存储过程 283
17.3.6 给输入参数设置默认值 284
17.3.7 创建带输出参数的存储过程 285
17.3.8 创建有多条 SQL 语句的存储过程 286
17.3.9 删除存储过程 287
17.4 在 SQL Server 中创建和使用函数 288
17.4.1 标量值函数 289
17.4.2 表值函数 290
17.4.3 删除用户定义函数 292
17.5 SQL Server 几个系统存储过程的使用 293
17.5.1 使用 sp_rename 重命名对象 293
17.5.2 使用 sp_depends 显示引用对象 293
17.5.3 使用 sp_help 显示对象信息 294
17.5.4 使用 sp_helptext 显示对象的源码 294
17.6 Oracle 中的存储过程和函数 295
17.6.1 在 Oracle 中使用存储过程 295
17.6.2 在 Oracle 中使用函数 296
17.6.3 在 Oracle 中使用 user_source获取信息 297
第 18 章 SQL 触发器 298
18.1 SQL 触发器基础 298
18.2 在 SQL Server 中创建和使用触发器 298
18.2.1 创建触发器的语法 299
18.2.2 使用 INSERT 触发器 300
18.2.3 使用 DELETE 触发器 302
18.2.4 使用 UPDATE 触发器 303
18.2.5 使用 INSTEAD OF 触发器 305
18.2.6 使用条件插入触发器 306
18.2.7 删除触发器 309
18.3 在 Oracle 中创建和使用触发器 309
18.3.1 创建触发器的语法 309
18.3.2 行级触发器 310
18.3.3 语句级触发器 311
18.3.4 判断所执行的数据修改操作 312
18.3.5 系统触发器 312
18.3.6 追踪数据库启动与关闭信息 313
18.3.7 追踪用户 DDL 操作信息 316
18.3.8 禁用和删除触发器 318
18.3.9 从 user_triggers 中查询触发器信息 319
18.4 在 MySQL 中创建和使用触发器 320
18.4.1 创建触发器的语法 320
18.4.2 使用 INSERT 触发器 320
18.4.3 删除触发器 322
第 19 章 控制流语句 323
19.1 SQL Server 的控制流语句 323
19.1.1 BEGIN…END 语句 323
19.1.2 IF…ELSE 语句 323
19.1.3 WHILE 语句 324
19.1.4 BREAK 命令 325
19.1.5 CONTINUE 命令 325
19.1.6 WAITFOR 语句 326
19.2 Oracle 的控制流语句 326
19.2.1 IF…THEN…ELSE 语句 327
19.2.2 IF…THEN…ELSIF 语句 327
19.2.3 LOOP 语句 328
19.2.4 WHILE 语句 328
19.2.5 FOR 语句 329
19.3 MySQL 的控制流语句 329
19.3.1 IF…THEN…ELSE 语句 329
19.3.2 LOOP 语句 330
19.3.3 REPEAT 语句 331
19.3.4 WHILE 语句 331
19.4 控制流语句的应用 332
19.4.1 判断数据库对象是否存在 332
19.4.2 向日志表循环插入日期数据 335
19.4.3 使用游标和循环提取数据 337
第 20 章 事务处理 340
20.1 事务基础 340
20.1.1 事务的概念 340
20.1.2 事务的案例 340
20.1.3 事务的 ACID 特性 341
20.2 控制事务处理 341
20.2.1 开始事务处理 341
20.2.2 使用 ROLLBACK 撤销事务 342
20.2.3 使用 COMMIT 提交事务 345
20.2.4 根据判断提交或撤销事务 348
20.2.5 Oracle 的语句级事务处理 350
20.2.6 使用保存点 351
20.3 并发事务 353
20.3.1 并发事务处理 353
20.3.2 事务锁 354
20.3.3 事务隔离级别 355
猜您喜欢



