SQL Server 2022从入门到精通

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。

本文主要介绍了SQL Server 2022从入门到精通,希望能对学习数据库,尤其是学习SQL Server的同学们有所帮助。

文章目录

  • [1. 前言](#1. 前言)
  • [2. 书籍推荐](#2. 书籍推荐)
    • [2.1 本书特色](#2.1 本书特色)
    • [2.2 本书作者](#2.2 本书作者)
    • [2.3 本书目录](#2.3 本书目录)
    • [2.4 适合读者](#2.4 适合读者)
  • [3. 购买链接](#3. 购买链接)

1. 前言

SQL Server 2022作为微软最新推出的关系型数据库管理系统,在企业级数据管理领域占据着至关重要的地位。它不仅延续了SQL Server系列的强大功能和可靠性,还在多个方面实现了突破性的创新。

SQL Server 2022在当今数据驱动的商业环境中扮演着至关重要的角色。作为数字化转型的核心引擎,它为企业提供了强大的数据处理和分析能力,成为推动业务创新的关键力量。其混合云解决方案无缝集成了云端和本地部署,满足了现代企业对灵活性和可扩展性的迫切需求。在网络安全日益复杂的今天,SQL Server 2022还提供了先进的安全特性,有效保护企业的关键数据资产。

在市场中,SQL Server的地位同样举足轻重。根据Gartner的魔力象限报告,它在操作型数据库管理系统市场中一直保持领导者地位。其应用范围极其广泛,无论是中小企业还是大型跨国公司,SQL Server 2022都能提供适合的解决方案,覆盖各个行业和应用场景。此外,微软庞大的合作伙伴网络和活跃的开发者社区为SQL Server 2022提供了丰富的第三方工具和资源支持,形成了一个强大而富有活力的生态系统。这些因素共同奠定了SQL Server 2022在数据库管理系统市场中的重要地位,使其成为企业数据管理的首选解决方案之一。

SQL Server 2022带来了众多令人兴奋的新特性,显著提升了性能、可靠性、安全性和开发效率。以下是一些主要的新特性:

  • 智能查询处理:引入了新的查询优化技术,如参数敏感性计划优化和批处理模式内存授予反馈,大幅提升查询性能。
  • 链接服务器到Azure Synapse Analytics:允许直接查询Azure Synapse Analytics中的数据,实现无缝的混合云体验。
  • 数据虚拟化:通过PolyBase增强了对外部数据源的支持,包括Oracle、Teradata和MongoDB等。
  • Ledger技术:引入区块链技术,为数据提供不可篡改的审计跟踪,增强数据完整性和安全性。
  • 云集成:深度集成Azure服务,如Azure Purview用于数据治理,Azure Synapse Link用于实时分析。
  • Always Encrypted with secure enclaves:进一步增强了数据加密能力,支持更多的加密场景。
  • UTF-8支持:改进了对国际化数据的支持,优化存储效率。
  • 可用性组的增强:改进了读取扩展可用性组的性能和可用性。
  • Query Store增强:提供了更多的性能监控和优化工具,帮助管理员更好地诊断和解决性能问题。

2. 书籍推荐

本书是面向SQL Server 2022初学者的一本高价值的书籍。本书系统全面、示例丰富、图文并茂、步骤清晰、通俗易懂、条理清晰。通过本书的学习,读者能快速理解SQL Server 2022的技术构成及操作方法,快速上手使用并设计SQL Server数据库。

本书注重实用,可操作性强,详细讲解每一个SQL Server 2022的知识点、操作方法和技巧,清晰阐述示例的用法及其作用,使读者能在最短的时间内有效地掌握SQL Server 2022数据库的应用。

《SQL Server 2022从入门到精通:视频教学超值版》共分20章,内容包括SQL Server 2022的安装与配置、数据库的操作、数据表的操作、Transact-SQL语言基础、Transact-SQL语句的查询与应用、认识函数、Transact-SQL查询、数据的更新、规则、默认和完整性约束、创建和使用索引、事务和锁、游标、使用存储过程、视图操作、触发器、SQL Server 2022的安全机制、数据库的备份与恢复、数据库的性能优化、企业人事管理系统数据库设计、网上购物商城数据库设计。

2.1 本书特色

  • 内容全面:知识点由浅入深,涵盖了所有SQL Server 2022的基础知识点以及数据库优化和设计技术,使读者可以由浅入深地掌握SQL Server 2022开发技术。

  • 图文并茂:在介绍案例的过程中,每一个操作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到操作的过程以及效果,便于读者更快地理解和掌握。

  • 易学易用:颠覆传统"看"书的观念,变成一本能"操作"的图书。

  • 案例丰富:把知识点融汇于系统的案例实训中,并且结合综合案例进行讲解和拓展,进而使读者"知其然,并知其所以然"。本书能让读者在实战应用中掌握SQL Server 2022的每一项技术。

  • 提示技巧:本书对读者在学习过程中可能会遇到的疑难问题以"提示"和"技巧"的形式进行了说明,以免读者在学习的过程中走弯路。

  • 超值资源:随书配套源码、PPT课件、教学视频、习题及答案、教学大纲、作者微信群答疑服务,使本书真正体现"自学无忧",令其物超所值。

2.2 本书作者

王英英,从事Web应用开发多年,精通多种编程语言,对数据库技术有深入研究。在Web前端、编程语言、数据库开发方面有着丰富的经验,并已出版过多本相关畅销书,受广大读者熟悉和认可。其创作的部分书包括:《Python编程从零开始学(视频教学版)》《HTML5+CSS3+JavaScript前端开发从零开始学(视频教学版)》《MySQL 8从入门到精通(视频教学版)》《HTML5+CSS3+JavaScript+jQuery Mobile移动网站与App开发(视频教学版)》《Oracle 19c从入门到精通(视频教学超值版)》《SQL Server 2019从入门到精通(视频教学超值版)》《MySQL 5.7从零开始学(视频教学版)》。

2.3 本书目录

python 复制代码
目    录

第 1 章  SQL Server 2022的安装与配置 1

1.1  认识SQL Server 2022 1

1.2  SQL Server 2022的组成 1

1.2.1  SQL Server 2022的数据库引擎 1

1.2.2  分析服务 2

1.2.3  集成服务 2

1.2.4  报表服务 2

1.3  安装SQL Server 2022 2

1.3.1  安装环境需求 2

1.3.2  安装SQL Server 2022 3

1.4  安装SQL Server Management Studio 9

1.5  SSMS的基本操作 11

1.5.1  SSMS的启动与连接 11

1.5.2  使用模板资源管理器 13

1.5.3  配置服务器的属性 14

1.5.4  查询编辑器 16

第 2 章  数据库的操作 19

2.1  数据库的组成 19

2.1.1  数据库文件 20

2.1.2  日志文件 20

2.2  系统数据库 20

2.2.1  master数据库 20

2.2.2  model数据库 20

2.2.3  msdb数据库 21

2.2.4  tempdb数据库 21

2.3  创建数据库 21

2.3.1  使用对象资源管理器创建数据库 21

2.3.2  使用Transact-SQL创建数据库 24

2.4  管理数据库 27

2.4.1  修改数据库 27

2.4.2  修改数据库容量 28

2.4.3  增加数据库容量 29

2.4.4  缩减数据库容量 31

2.4.5  查看数据库信息 31

2.4.6  数据库更名 32

2.4.7  删除数据库 33

第 3 章  数据表的操作 35

3.1  SQL Server 2022数据库对象 35

3.2  创建数据表 36

3.2.1  数据类型 37

3.2.2  使用对象资源管理器创建表 44

3.2.3  使用Transact-SQL创建表 45

3.3  管理数据表 46

3.3.1  修改表字段 47

3.3.2  修改表约束 50

3.3.3  查看表中的有关信息 55

3.3.4  删除表 56

第 4 章  Transact-SQL语言基础 58

4.1  Transact-SQL概述 58

4.1.1  什么是Transact-SQL 59

4.1.2  Transact-SQL语法的约定 59

4.2  如何给标识符起名 60

4.3  常量 62

4.3.1  数字常量 62

4.3.2  字符串常量 63

4.3.3  日期和时间常量 63

4.3.4  符号常量 63

4.4  变量 64

4.4.1  全局变量 64

4.4.2  局部变量 66

4.4.3  批处理和脚本 67

4.5  运算符和表达式 69

4.5.1  算术运算符 69

4.5.2  比较运算符 69

4.5.3  逻辑运算符 70

4.5.4  连接运算符 70

4.5.5  按位运算符 70

4.5.6  运算符的优先级 71

4.5.7  什么是表达式 71

4.5.8  Transact-SQL表达式的分类 71

4.6  Transact-SQL利器------通配符 72

4.7  Transact-SQL语言中的注释 73

第 5 章  轻松掌握Transact-SQL语句 74

5.1  数据定义语言 74

5.1.1  CREATE的应用 74

5.1.2  DROP的功能 77

5.1.3  ALTER的功能 78

5.2  数据操作语言 80

5.2.1  数据的插入------INSERT 80

5.2.2  数据的更改------UPDATE 81

5.2.3  数据的删除------DELETE 82

5.2.4  数据的查询------SELECT 83

5.3  数据控制语言 88

5.3.1  授予权限操作------GRANT 88

5.3.2  拒绝权限操作------DENY 89

5.3.3  收回权限操作------REVOKE 89

5.4  其他基本语句 89

5.4.1  数据声明------DECLARE 89

5.4.2  数据赋值------SET 90

5.4.3  数据输出------PRINT 91

5.5  流程控制语句 91

5.5.1  BEGIN...END语句 91

5.5.2  IF...ELSE语句 92

5.5.3  CASE语句 92

5.5.4  WHILE语句 94

5.5.5  GOTO语句 95

5.5.6  WAITFOR语句 96

5.5.7  RETURN语句 96

5.6  批处理语句 97

第 6 章  认识函数 99

6.1  字符串函数 99

6.1.1  CHAR()函数 99

6.1.2  LEFT()函数 100

6.1.3  RIGHT()函数 100

6.1.4  LTRIM()函数 100

6.1.5  RTRIM()函数 100

6.1.6  STR()函数 101

6.1.7  REVERSE()函数 101

6.1.8  LEN()函数 101

6.1.9  CHARINDEX()函数 102

6.1.10  SUBSTRING()函数 102

6.1.11  LOWER()函数 102

6.1.12  UPPER()函数 103

6.1.13  REPLACE(s,s1,s2)函数 103

6.2  数学函数 103

6.2.1  ABS(x)函数和PI()函数 103

6.2.2  SQRT(x)函数 104

6.2.3  获取随机数的函数RAND()和RAND(x) 104

6.2.4  四舍五入函数ROUND(x,y) 105

6.2.5  符号函数SIGN(x) 105

6.2.6  获取整数的函数CEILING(x)和FLOOR(x) 105

6.2.7  幂运算函数POWER(x,y)、SQUARE (x)和EXP(x) 106

6.2.8  对数运算函数LOG(x)和LOG10(x) 106

6.2.9  角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 107

6.3  数据类型转换函数 107

6.4  文本和图像函数 108

6.4.1  TEXTPTR()函数 108

6.4.2  TEXTVALID()函数 109

6.5  日期和时间函数 109

6.5.1  获取系统当前日期的函数GETDATE() 109

6.5.2  返回UTC日期的函数UTCDATE() 109

6.5.3  获取天数的函数DAY() 110

6.5.4  获取月份的函数MONTH() 110

6.5.5  获取年份的函数YEAR() 110

6.5.6  计算日期和时间的函数DATEADD(dp,num,d) 110

6.6  系统函数 111

6.6.1  返回表中指定字段的长度值 111

6.6.2  返回表中指定字段的名称 111

6.6.3  返回数据表达式的数据的实际长度 112

6.6.4  返回数据库的名称 112

6.6.5  返回数据库的用户名 112

第 7 章  Transact-SQL查询 113

7.1  查询工具的使用 113

7.1.1  编辑查询 113

7.1.2  查询结果的显示方法 114

7.2  使用SELECT进行查询 115

7.2.1  使用星号和列名 116

7.2.2  使用DISTINCT取消重复 117

7.2.3  使用TOP返回前n行 118

7.2.4  修改列标题 119

7.2.5  在查询结果集中显示字符串 119

7.2.6  查询的列为表达式 120

7.3  使用WHERE子句进行条件查询 120

7.3.1  使用关系表达式查询 121

7.3.2  使用BETWEEN AND表示范围 122

7.3.3  使用IN关键字 122

7.3.4  使用LIKE关键字 123

7.3.5  使用IS NULL查询空值 125

7.3.6  使用EXISTS关键字 126

7.3.7  使用ORDER BY排序 127

7.3.8  使用GROUP BY分组 128

7.3.9  使用HAVING对分组结果进行过滤 129

7.3.10  使用UNION合并查询结果集 130

7.4  使用聚合函数统计汇总 131

7.4.1  使用SUM()求列的和 132

7.4.2  使用AVG()求列平均值 132

7.4.3  使用MAX()求列最大值 133

7.4.4  使用MIN()求列最小值 134

7.4.5  使用COUNT()统计 134

7.5  嵌套查询 135

7.5.1  使用比较运算符 136

7.5.2  使用IN关键字 136

7.5.3  使用ANY、SOME和ALL关键字 137

7.5.4  使用EXISTS关键字 138

7.6  多表连接查询 139

7.6.1  等值连接 140

7.6.2  不等连接 140

7.6.3  带选择条件的连接 141

7.6.4  自连接 141

7.7  外连接 142

7.7.1  左外连接 142

7.7.2  右外连接 143

7.7.3  全外连接 143

7.8  使用排序函数 143

7.9  动态查询 145

第 8 章  数据的更新 147

8.1  插入数据------INSERT 147

8.1.1  插入单行数据 148

8.1.2  插入多行数据 150

8.2  修改数据------UPDATE 151

8.2.1  修改单行数据 151

8.2.2  修改多行数据 152

8.3  删除数据------DELETE 153

8.3.1  删除部分数据 153

8.3.2  删除表中所有数据 153

第 9 章  规则、默认和完整性约束 154

9.1  规则和默认概述 154

9.2  规则的基本操作 154

9.2.1  创建规则 154

9.2.2  把自定义规则绑定到列 155

9.2.3  验证规则的作用 155

9.2.4  取消规则绑定 156

9.2.5  删除规则 156

9.3  默认的基本操作 156

9.3.1  创建默认 157

9.3.2  把自定义的默认值绑定到列 157

9.3.3  验证默认值的作用 157

9.3.4  取消默认值的绑定 158

9.3.5  删除默认值 158

9.4  完整性约束 158

9.4.1  主键约束 159

9.4.2  外键约束 162

9.4.3  唯一性约束 165

9.4.4  CHECK约束 166

9.4.5  DEFAULT约束 166

9.4.6  NOT NULL约束 166

第 10 章  创建和使用索引 167

10.1  索引的含义和特点 167

10.2  索引的分类 168

10.3  索引的设计原则 169

10.4  创建索引 170

10.4.1  使用对象资源管理器创建索引 170

10.4.2  使用Transact-SQL语句创建索引 171

10.5  管理和维护索引 174

10.5.1  显示索引信息 174

10.5.2  重命名索引 176

10.5.3  删除索引 177

第 11 章  事务和锁 178

11.1  事务管理 178

11.1.1  事务的原理 178

11.1.2  事务管理的常用语句 179

11.1.3  事务的隔离级别 180

11.1.4  事务的应用案例 181

11.2  锁 182

11.2.1  锁的内涵与作用 182

11.2.2  可锁定资源与锁的类型 183

11.2.3  死锁 184

11.2.4  锁的应用案例 185

第 12 章  游标 189

12.1  认识游标 189

12.1.1  游标的概念 189

12.1.2  游标的优点 189

12.1.3  游标的分类 190

12.2  游标的基本操作 191

12.2.1  声明游标 191

12.2.2  打开游标 193

12.2.3  读取游标中的数据 193

12.2.4  关闭游标 194

12.2.5  释放游标 195

12.3  游标的运用 195

12.3.1  使用游标变量 196

12.3.2  用游标为变量赋值 196

12.3.3  用ORDER BY子句改变游标中行的顺序 197

12.3.4  用游标修改数据 198

12.3.5  用游标删除数据 199

12.4  使用系统存储过程管理游标 200

12.4.1  sp_cursor_list存储过程 200

12.4.2  sp_describe_cursor存储过程 201

12.4.3  sp_describe_cursor_columns存储过程 202

12.4.4  sp_describe_cursor_tables存储过程 204

第 13 章  存储过程和自定义函数 206

13.1  存储过程概述 206

13.2  存储过程分类 207

13.2.1  系统存储过程 207

13.2.2  自定义存储过程 207

13.2.3  扩展存储过程 208

13.3  创建存储过程 208

13.3.1  如何创建存储过程 208

13.3.2  调用存储过程 211

13.3.3  创建带输入参数的存储过程 212

13.3.4  创建带输出参数的存储过程 214

13.4  管理存储过程 215

13.4.1  修改存储过程 215

13.4.2  查询存储过程 217

13.4.3  重命名存储过程 218

13.4.4  删除存储过程 219

13.5  扩展存储过程 220

13.6  自定义函数 221

13.6.1  创建标量函数 222

13.6.2  创建表值函数 223

13.6.3  删除函数 224

第 14 章  视图操作 225

14.1  视图概述 225

14.1.1  视图的概念 225

14.1.2  视图的分类 226

14.1.3  视图的优点和作用 226

14.2  创建视图 227

14.2.1  使用视图设计器创建视图 227

14.2.2  使用Transact-SQL命令创建视图 229

14.3  修改视图 230

14.4  查看视图信息 231

14.5  使用视图修改数据 232

14.5.1  通过视图向基本表中插入数据 233

14.5.2  通过视图修改基本表中的数据 233

14.5.3  通过视图删除基本表中的数据 234

14.6  删除视图 235

第 15 章  触发器 236

15.1  触发器概述 236

15.1.1  什么是触发器 236

15.1.2  触发器的作用 237

15.1.3  触发器分类 237

15.2  创建DML触发器 238

15.2.1  INSERT触发器 238

15.2.2  DELETE触发器 240

15.2.3  UPDATE触发器 241

15.2.4  替代触发器 242

15.2.5  允许使用嵌套触发器 243

15.2.6  递归触发器 244

15.3  创建DDL触发器 245

15.3.1  创建DDL触发器的语法 245

15.3.2  创建服务器作用域的DDL触发器 245

15.4  管理触发器 246

15.4.1  查看触发器 246

15.4.2  修改触发器 247

15.4.3  删除触发器 248

15.4.4  启用和禁用触发器 249

第 16 章  SQL Server 2022的安全机制 250

16.1  SQL Server 2022的安全机制概述 250

16.1.1  SQL Server 2022的安全机制简介 250

16.1.2  基本安全术语 252

16.2  安全验证方式 253

16.2.1  Windows身份验证模式 253

16.2.2  混合模式 253

16.2.3  设置验证模式 254

16.3  SQL Server 2022登录名 254

16.3.1  创建登录账户 255

16.3.2  修改登录账户 260

16.3.3  删除登录账户 262

16.4  SQL Server 2022的角色与权限 262

16.4.1  固定服务器角色 263

16.4.2  数据库角色 263

16.4.3  自定义数据库角色 264

16.4.4  应用程序角色 267

16.4.5  将登录指派到角色 268

16.4.6  将角色指派到多个登录账户 269

16.4.7  权限管理 270

第 17 章  数据库的备份与恢复 274

17.1  备份与恢复介绍 274

17.1.1  备份类型 274

17.1.2  恢复模式 275

17.1.3  配置恢复模式 276

17.2  备份设备 277

17.2.1  备份设备类型 277

17.2.2  创建备份设备 277

17.2.3  查看备份设备 279

17.2.4  删除备份设备 279

17.3  使用Transact-SQL语言备份数据库 279

17.3.1  完整备份与差异备份 280

17.3.2  文件和文件组备份 282

17.3.3  事务日志备份 284

17.4  在SQL Server Management Studio 中还原数据库 284

17.4.1  还原数据库的方式 284

17.4.2  还原数据库前要注意的事项 285

17.4.3  还原数据库备份 286

17.4.4  还原文件和文件组备份 288

17.5  用Transact-SQL语言还原数据库 290

17.5.1  完整备份还原 290

17.5.2  差异备份还原 292

17.5.3  事务日志备份还原 292

17.5.4  文件和文件组备份还原 293

17.5.5  将数据库还原到某个时间点 293

17.6  建立自动备份的维护计划 295

17.7  通过Always Encrypted安全功能为数据加密 297

17.8  动态数据屏蔽 300

第 18 章  数据库的性能优化 303

18.1  优化查询 303

18.1.1  优化查询语句 303

18.1.2  优化索引 305

18.1.3  其他的优化策略 305

18.2  优化SQL Server服务器硬件 306

18.3  性能优化机制 306

18.3.1  数据缓存 306

18.3.2  查看内存消耗情况 307

18.3.3  清空缓存 309

18.3.4  强制重新编译执行计划 309

18.4  性能分析工具SQL Server Profiler 310

第 19 章  设计企业人事管理系统数据库 313

19.1  需求分析 313

19.2  系统功能结构 313

19.3  数据库设计 314

19.3.1  数据库实体E-R图 314

19.3.2  数据库表的设计 317

第 20 章  设计网上购物商城数据库 320

20.1  系统分析 320

20.1.1  系统总体设计 320

20.1.2  系统界面设计 321

20.2  系统主要功能 322

20.3  数据库与数据表设计 322

20.3.1  数据库实体E-R图 322

20.3.2  数据库分析 324

20.3.3  创建数据表 324

2.4 适合读者

《SQL Server 2022从入门到精通:视频教学超值版》适合SQL Server初学者、数据库设计人员、数据库应用开发人员、数据库系统管理员,也适合作为高等院校或高职高专数据库课程的教材。

3. 购买链接

本书的京东购买链接为:SQL Server 2022从入门到精通(视频教学超值版)(数据库技术丛书)

相关推荐
编程修仙18 分钟前
MySQL外连接
数据库·mysql
Edward-tan23 分钟前
【全栈开发】----用pymysql库连接MySQL,批量存入
数据库·mysql·pymysql
mxbb.28 分钟前
单点Redis所面临的问题及解决方法
java·数据库·redis·缓存
大霸王龙1 小时前
在 Django 中使用 SMTP 发送邮件是一个常见的需求
数据库·django·sqlite
纪伊路上盛名在2 小时前
爬虫1:uniprot蛋白质序列数据+canvas图片
数据库·学习·知识图谱·学习方法
程序员黄同学4 小时前
如何使用 Python 连接 MySQL 数据库?
数据库·python·mysql
新手小袁_J5 小时前
实现Python将csv数据导入到Neo4j
数据库·python·neo4j·《我是刑警》·python连接neo4j·python导入csv·csv数据集导入neo4j
シ風箏5 小时前
Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用
linux·数据库·arm·neo4j
张声录15 小时前
【ETCD】【实操篇(四)】etcd常见问题快问快答FAQ
数据库·etcd
CherishTaoTao7 小时前
sqlite基础
数据库·oracle·sqlite