描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302673026
SQL入门与实践(微课视频版)主要读者对象为:数据分析师、数据库管理员、软件开发人员、数据科学家、计算机相关专业学生。
√零基础入门,系统讲解
从SQL的基础语法、数据查询、表操作,到数据插入与更新等核心技能,本书均进行了详细讲解,即使没有编程基础的读者也能轻松入门,并逐步构建完整的SQL知识体系。
√三大主流数据库实践,对比学习
深入讲解SQL在MySQL、SQL Server和Oracle三大主流数据库系统中的具体应用,通过实例解析和对比学习,融会贯通,帮助读者掌握不同环境下的SQL操作。
√实例丰富,讲解透彻
精心设计了250个中小实例,贯穿全书,理论与实践相结合,并根据内容需要随时插入“说明”“注意”“技巧”经验技巧,可让读者在动手操作中快速掌握SQL的精髓,少走弯路并能学以致用。
√图文并茂,更易理解
SQL入门与实践(微课视频版)除了文字内容,还根据需要在适当位置给出了图形、图表辅助理解,有助于读者更好地学习本书。
√配套资源丰富,方便教学和自学
为方便读者学习,本书还录制了200多个视频,并配备了PPT教学课件、源代码文件等,可方便教学和自学。
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
在人工智能、机器学习和大数据领域,解决实际问题依赖于对大量数据的处理和分析,因此数据库在这些技术领域中扮演着至关重要的角色。当前,MySQL、SQL Server 和 Oracle 是市场上主流的数据库管理系统,虽然它们各自的用户界面可能存在差异,但它们都依赖于一种共通的语言——SQL 来进行数据库操作。
SQL,即结构化查询语言,是数据库管理者和程序员不可或缺的工具。在计算机和互联网行业,掌握 SQL 几乎是专业人士的基本要求。笔者凭借 20 多年的软件开发经验,深知 SQL 的重要性,但是每次在为新同事进行相关培训时,我发现许多人对 SQL 的使用并不熟练。基于这个认识,笔者编写了本书,旨在帮助读者更好地掌握 SQL 的使用技巧。
本书特点
1.内容全面,层次清晰
本书从搭建 SQL 环境开始,由浅入深、循序渐进地介绍了数据定义、数据查询、数据更新、数据控制、事务处理,以及在编程语言中调用 SQL 语句等 SQL 的知识,内容全面、层次清晰。
2.实例丰富,讲解详细
书中精心设计了 250 多个中小实例,并对其进行了非常细致的讲解,可以让读者快速掌握 SQL的精髓。
3.对比讲解,理解深刻
由于数据库技术的内容十分庞杂,初学者经常会感觉无从下手。本书通过 SQL 在 MySQL、SQL Server 和 Oracle 等多个数据库产品中的具体使用,对比学习,来讲解各系统的特点以及扩展性。其中会先讲解标准 SQL 的用法,然后再结合 3 个主流数据库进行分步讲解,可以让读者理解更深刻。
4.配有视频,方便学习
针对书中知识点,配有 20 多小时的高清视频讲解。扫描书中的二维码可以手机看视频,极大地提高学习效率。
5.版本更新,紧跟发展
数据库技术不断更新,对应的软件也在不断更新。为了让读者能及时体验软件的最新功能,本书使用的三大主流数据库系统均为最新版本(截至书稿修订时间)。例如,MySQL 为 8.3.0 版本、SQL Server 为2022版本、Oracle 为21c。
各章内容简介
第 1 章,首先讲解数据库的基础知识,然后简单介绍一些当今流行的数据库管理系统—MySQL、SQL Server 和 Oracle 软件的安装以及如何在其中运行 SQL 语句。
第 2 章,从整体出发,简要介绍 SQL,包括 SQL 的历史、特点、功能、SQL 的组成和环境等。
第 3 章,首先讲解数据表的一些概念性内容,然后介绍表的创建、修改、删除和数据库的创建与删除等 SQL 语句。
第 4 章,介绍索引的相关知识和创建索引、使用索引、删除索引的 SQL 语句。
第 5 章,主要介绍使用 SELECT 语句查询数据的基本方法和排序查询结果的方法。
第 6 章,主要介绍条件表达式和使用 WHERE 子句查询所需数据的方法。
第 7 章,介绍使用 AND、OR、NOT 运算符组合 WHERE 子句,IN、LIKE 运算符的使用方法,以及使用通配符进行模糊查询的知识。
第 8 章,介绍 SQL Server、Oracle 和 MySQL 中各种函数的使用方法。
第 9 章,介绍使用 SQL 聚合函数和分组技术查询统计数据的方法。
第 10 章,介绍多表连接查询的原因、高级连接查询的方法和组合查询的使用技巧。
第 11 章,介绍子查询的使用方法和相关子查询的概念。
第 12 章,介绍视图的概念、特性、作用,以及创建视图、使用视图和删除视图的方法。
第 13 章,介绍使用 INSERT 语句,向数据表直接插入数据、通过视图插入数据的方法。
第 14 章,分别介绍使用 UPDATE 语句更新数据和使用 DELETE 语句删除数据的方法。
第 15 章,介绍用户、角色以及 MySQL、Oracle、SQL Server 安全管理方面的内容。
第 16 章,介绍完整性的概念和数据表的各种约束。
第 17 章,介绍存储过程和自定义函数的概念,及其创建方法、使用方法和查看其源码的技巧。
第 18 章,首先讲解 SQL 触发器的概念,然后介绍在 SQL Server、Oracle 和 MySQL 中创建、使用触发器的具体方法。
第 19 章,分别介绍 SQL Server、Oracle、MySQL 中控制流语句的使用方法和具体应用。
第 20 章,介绍事务的概念、特性,以及如何创建事务、提交事务、回滚事务和并发事务的处理等。
资源获取方式
本书配套资源完善,包括视频讲解、源码文件和 PPT 课件等,有需要的读者可以扫描右侧的二维码下载。
本书读者对象
本书具有知识全面、体系完整、实例精彩、指导性强的特点,力求以全面系统的知识及丰富的实例来指导读者学习并掌握 SQL 的使用方法和技巧。本书适合以下读者学习。
? 数据库管理人员。
? Java、Python 等各类程序员。
? 大数据开发人员。
? 信息管理人员。
? 人工智能程序员。
? 大中专院校的学生。
致谢
本书能够顺利出版,是作者、编辑和所有审校人员共同努力的结果,在此表示深深的感谢。
希望本书能对你有所帮助!
编 者
评论
还没有评论。