目录
第1章 数据库与SQL Server 2017 001
1.1 数据库与关系数据库 001
1.1.1 数据库简介 001
1.1.2 数据模型 001
1.1.3 关系数据库 002
1.2 常见数据库产品介绍 003
1.3 安装SQL Server 2017 004
1.4 升级SQL Server 2017 011
1.5 卸载SQL Server 2017 015
1.6 课后习题与练习 015
1.7 新手疑难问题解答 016
1.8 实战训练 017
第2章 SQL Server 2017管理工具的应用 018
2.1 安装SQL Server Management Studio 018
2.2 进入SQL Server 2017数据库 020
2.2.1 启动SQL Server 2017数据库服务 020
2.2.2 登录SQL Server 2017数据库 021
2.3 认识SQL Server 2017系统数据库 022
2.4 注册SQL Server 2017服务器 022
2.4.1 创建与删除服务器组 022
2.4.2 注册与删除服务器 023
2.5 配置身份验证模式 024
2.6 课后习题与练习 025
2.7 新手疑难问题解答 026
2.8 实战训练 026
第3章 数据库的创建与操作 028
3.1 创建数据库 028
3.1.1 了解数据库的结构 028
3.1.2 创建数据库的语法 028
3.1.3 一行语句创建数据库 029
3.1.4 创建带有自定义参数的数据库 029
3.1.5 创建包含多个文件的数据库 030
3.1.6 创建包含文件组的数据库 032
3.1.7 以图形向导方式创建数据库 033
3.2 修改数据库 035
3.2.1 修改数据库的名称 035
3.2.2 修改数据库的初始大小 036
3.2.3 修改数据库的最大容量 037
3.2.4 给数据库添加数据文件 038
3.2.5 清理数据库中无用的文件 041
3.2.6 以图形向导方式修改数据库 042
3.3 删除数据库 048
3.3.1 一行语句删除数据库 048
3.3.2 以图形向导方式删除数据库 048
3.4 查看数据库信息 049
3.4.1 查看系统中的全部数据库 049
3.4.2 查看数据库中的文件信息 049
3.4.3 查看数据库的空间使用情况 050
3.4.4 查看数据库和文件的状态 050
3.5 课后习题与练习 051
3.6 新手疑难问题解答 052
3.7 实战训练 052
第4章 数据表的创建与操作 053
4.1 数据表中能存放的数据类型 053
4.1.1 整数数据类型 053
4.1.2 浮点数据类型 053
4.1.3 字符数据类型 054
4.1.4 日期时间数据类型 054
4.1.5 货币数据类型 055
4.1.6 其他数据类型 055
4.2 自定义数据类型 055
4.2.1 创建自定义数据类型 055
4.2.2 删除自定义数据类型 057
4.3 创建数据表 059
4.3.1 创建数据表的基本语法 059
4.3.2 使用CREATE语句创建数据表 059
4.3.3 创建包含自动增长字段的数据表 060
4.3.4 创建包含自定义数据类型的数据表 061
4.3.5 在文件组上创建数据表 062
4.3.6 认识数据库中的临时表 063
4.3.7 以图形向导的方式创建数据表 063
4.4 修改数据表 064
4.4.1 变一变数据表的名称 064
4.4.2 更改表字段的数据类型 065
4.4.3 表字段的添加与删除 065
4.4.4 更改表字段的名称 066
4.4.5 以图形向导方式修改表 067
4.5 查看表信息 069
4.5.1 使用sp_help查看表信息 069
4.5.2 使用sys.objects查看表信息 070
4.5.3 使用information_schema.columns查看表信息 070
4.6 删除数据表 071
4.6.1 使用DROP语句删除数据表 071
4.6.2 以图形向导方式删除数据表 072
4.7 课后习题与练习 073
4.8 新手疑难问题解答 074
4.9 实战训练 074
第5章 数据表的完整性约束 075
5.1 数据完整性及其分类 075
5.1.1 数据完整性的分类 075
5.1.2 表中的约束条件有哪些 075
5.2 PRIMARY KEY约束 076
5.2.1 创建表时创建主键 076
5.2.2 修改表时创建主键 077
5.2.3 创建联合主键约束 078
5.2.4 删除表中的主键 079
5.3 FOREIGN KEY约束 081
5.3.1 创建表时创建外键 081
5.3.2 修改表时创建外键 083
5.3.3 删除表中的外键 085
5.4 DEFAULT约束 087
5.4.1 创建表时创建DEFAULT约束 087
5.4.2 修改表时创建DEFAULT约束 088
5.4.3 删除表中的DEFAULT约束 089
5.5 CHECK约束 090
5.5.1 创建表时创建CHECK约束 091
5.5.2 修改表时创建CHECK约束 093
5.5.3 删除表中的CHECK约束 094
5.6 UNIQUE约束 095
5.6.1 创建表时创建UNIQUE约束 095
5.6.2 修改表时创建UNIQUE约束 098
5.6.3 删除表中的UNIQUE约束 099
5.7 NOT NULL约束 101
5.7.1 创建表时创建NOT NULL约束 101
5.7.2 修改表时创建NOT NULL约束 101
5.7.3 删除表中的NOT NULL约束 102
5.8 课后习题与练习 103
5.9 新手疑难问题解答 103
5.10 实战训练 104
第6章 插入、更新与删除数据记录 106
6.1 向数据表中插入数据 106
6.1.1 给表里的所有字段插入数据 106
6.1.2 向表中添加数据时使用默认值 110
6.1.3 一次插入多条数据 110
6.1.4 通过复制表数据插入数据 111
6.1.5 以图形向导方式添加数据 113
6.2 更新数据表中的数据 114
6.2.1 更新表中的全部数据 115
6.2.2 更新表中指定单行数据 115
6.2.3 更新表中指定多行数据 116
6.2.4 更新表中前N条数据 116
6.2.5 以图形向导方式更新数据 117
6.3 删除数据表中的数据 118
6.3.1 根据条件清除数据 118
6.3.2 删除前N条数据 119
6.3.3 清空表中的数据 119
6.3.4 以图形向导方式删除数据 120
6.4 课后习题与练习 121
6.5 新手疑难问题解答 122
6.6 实战训练 122
第7章 数据的简单查询 124
7.1 认识SELECT语句 124
7.2 数据的简单查询 124
7.2.1 查询表中所有数据 125
7.2.2 查询表中想要的数据 126
7.2.3 使用TOP查询数据 126
7.2.4 对查询结果进行计算 126
7.2.5 为结果列使用别名 127
7.2.6 在查询时去除重复项 127
7.3 使用WHERE子句进行选择查询 127
7.3.1 条件表达式的数据查询 127
7.3.2 范围条件的数据查询 128
7.3.3 列表条件的数据查询 129
7.3.4 使用LIKE模糊查询 130
7.3.5 未知空数据的查询 132
7.4 操作查询的结果 132
7.4.1 对查询结果进行排序 133
7.4.2 对查询结果进行分组 133
7.4.3 对分组结果过滤查询 134
7.5 使用聚合函数进行统计查询 134
7.5.1 使用SUM()求列的和 134
7.5.2 使用AVG()求列平均值 135
7.5.3 使用MAX()求列最大值 136
7.5.4 使用MIN()求列最小值 137
7.5.5 使用COUNT()统计 137
7.6 课后习题与练习 138
7.7 新手疑难问题解答 139
7.8 实战训练 139
第8章 数据的连接查询 140
8.1 子查询 140
8.1.1 子查询概述 140
8.1.2 简单的子查询 140
8.1.3 使用IN的子查询 142
8.1.4 使用ANY的子查询 142
8.1.5 使用ALL的子查询 143
8.1.6 使用SOME的子查询 143
8.1.7 使用EXISTS的子查询 144
8.1.8 使用UNION的子查询 144
8.2 内连接查询 145
8.2.1 笛卡儿积查询 145
8.2.2 内连接的简单查询 146
8.2.3 等值内连接查询 146
8.2.4 非等值内连接查询 147
8.2.5 自连接的内连接查询 148
8.2.6 带条件的内连接查询 148
8.3 外连接查询 149
8.3.1 认识外连接查询 149
8.3.2 左外连接查询 150
8.3.3 右外连接查询 150
8.3.4 全外连接查询 150
8.4 课后习题与练习 151
8.5 新手疑难问题解答 152
8.6 实战训练 152
第9章 使用T-SQL语言 153
9.1 T-SQL语言简介 153
9.2 常量和变量 154
9.2.1 常量 154
9.2.2 变量 155
9.3 流程控制语句 157
9.3.1 BEGIN…END语句 157
9.3.2 IF…ELSE语句 157
9.3.3 CASE语句 158
9.3.4 WHILE语句 159
9.3.5 GOTO语句 160
9.3.6 WAITFOR语句 161
9.4 认识运算符 161
9.4.1 赋值运算符 162
9.4.2 算术运算符 162
9.4.3 比较运算符 162
9.4.4 逻辑运算符 163
9.4.5 一元运算符 164
9.4.6 位运算符 164
9.4.7 运算符的优先级 164
9.5 注释与通配符 165
9.5.1 注释 165
9.5.2 通配符 166
9.6 课后习题与练习 166
9.7 新手疑难问题解答 167
9.8 实战训练 167
第10章 系统函数与自定义函数 168
10.1 系统函数 168
10.1.1 数学函数 168
10.1.2 字符串函数 170
10.1.3 日期和时间函数 172
10.1.4 获取系统参数函数 173
10.1.5 数据类型转换函数 175
10.2 使用T-SQL语句管理自定义函数 176
10.2.1 创建自定义函数的语法 176
10.2.2 创建标量值函数 176
10.2.3 创建表值函数 177
10.2.4 修改自定义函数 178
10.2.5 删除自定义函数 179
10.3 以图形向导方式管理自定义函数 179
10.3.1 创建自定义函数 179
10.3.2 修改自定义函数 180
10.3.3 删除自定义函数 181
10.4 课后习题与练习 181
10.5 新手疑难问题解答 182
10.6 实战训练 183
第11章 视图的创建与应用 184
11.1 了解视图 184
11.1.1 视图的作用 184
11.1.2 视图的分类 185
11.2 创建视图 185
11.2.1 创建视图的语法规则 185
11.2.2 在单表上创建视图 185
11.2.3 在多表上创建视图 186
11.2.4 以图形向导方式创建视图 187
11.3 修改视图 188
11.3.1 修改视图的语法规则 188
11.3.2 修改视图的具体内容 188
11.3.3 重命名视图的名称 189
11.3.4 以图形向导方式修改视图 189
11.4 删除视图 190
11.4.1 删除视图的语法 190
11.4.2 删除不用的视图 190
11.4.3 以图形向导方式删除视图 191
11.5 查看视图信息 191
11.5.1 以图形向导方式查看 191
11.5.2 使用系统存储过程查看 192
11.6 使用视图更新数据 193
11.6.1 通过视图插入数据 193
11.6.2 通过视图修改数据 194
11.6.3 通过视图删除数据 195
11.7 课后习题与练习 195
11.8 新手疑难问题解答 196
11.9 实战训练 197
第12章 索引的创建与应用 198
12.1 了解索引 198
12.1.1 索引的作用 198
12.1.2 索引的分类 198
12.1.3 索引的使用标准 199
12.2 创建索引 199
12.2.1 创建索引的语法 199
12.2.2 创建聚集索引 201
12.2.3 创建非聚集索引 201
12.2.4 创建复合索引 201
12.2.5 以图形向导方式创建索引 202
12.3 修改索引 203
12.3.1 修改索引的语法 203
12.3.2 禁用索引 204
12.3.3 重新生成索引 204
12.3.4 重命名索引 205
12.3.5 以图形向导方式修改索引 205
12.4 查询索引 207
12.4.1 使用系统存储过程查询索引 207
12.4.2 以图形向导方式查看索引 207
12.4.3 查看索引的统计信息 208
12.5 删除索引 209
12.5.1 删除索引的语法 209
12.5.2 一次删除一个索引 209
12.5.3 一次删除多个索引 209
12.5.4 以图形向导方式删除索引 210
12.6 课后习题与练习 210
12.7 新手疑难问题解答 211
12.8 实战训练 211
第13章 存储过程的创建与应用 212
13.1 了解存储过程 212
13.1.1 存储过程的作用 212
13.1.2 存储过程的类型 213
13.2 创建存储过程 213
13.2.1 创建存储过程的语法格式 213
13.2.2 创建不带参数的存储过程 214
13.2.3 创建带输入参数的存储过程 215
13.2.4 创建带输出参数的存储过程 216
13.2.5 创建带加密选项的存储过程 216
13.2.6 以图形向导方式创建存储过程 216
13.3 执行存储过程 218
13.3.1 执行存储过程的语法格式 218
13.3.2 执行不带参数的存储过程 219
13.3.3 执行带输入参数的存储过程 219
13.3.4 执行带输出参数的存储过程 220
13.3.5 以图形向导方式执行存储过程 220
13.4 修改存储过程 221
13.4.1 修改存储过程的语法格式 221
13.4.2 使用T-SQL语句修改存储过程 221
13.4.3 修改存储过程的名称 222
13.4.4 以图形向导方式修改存储过程 223
13.5 查看存储过程 223
13.5.1 使用系统存储过程查看信息 223
13.5.2 以图形向导方式查看存储过程 225
13.6 删除存储过程 225
13.6.1 使用T-SQL语句删除存储过程 225
13.6.2 以图形向导方式删除存储过程 226
13.7 课后习题与练习 226
13.8 新手疑难问题解答 227
13.9 实战训练 227
第14章 触发器的创建与应用 228
14.1 了解触发器 228
14.1.1 触发器的作用 228
14.1.2 触发器的分类 228
14.2 创建DML触发器 229
14.2.1 创建触发器的语法 229
14.2.2 INSERT触发器 230
14.2.3 DELETE触发器 231
14.2.4 UPDATE触发器 232
14.2.5 INSTEAD OF触发器 233
14.3 创建其他类型的触发器 234
14.3.1 创建DDL触发器 234
14.3.2 创建登录触发器 235
14.3.3 创建嵌套触发器 237
14.3.4 创建递归触发器 237
14.4 修改触发器 238
14.4.1 修改DML触发器 238
14.4.2 修改DDL触发器 239
14.4.3 修改登录触发器 239
14.5 管理触发器 240
14.5.1 禁用触发器 240
14.5.2 启用触发器 241
14.5.3 重命名触发器 241
14.5.4 使用sp_helptext查看触发器 242
14.5.5 以图形向导方式查看触发器信息 242
14.6 删除触发器 242
14.6.1 使用T-SQL语句删除触发器 242
14.6.2 以图形向导方式删除触发器 243
14.7 课后习题与练习 243
14.8 新手疑难问题解答 244
14.9 实战训练 245
第15章 游标、事务和锁的应用 246
15.1 游标的应用 246
15.1.1 声明游标 246
15.1.2 打开游标 247
15.1.3 读取游标 247
15.1.4 关闭游标 248
15.1.5 释放游标 249
15.2 事务的应用 249
15.2.1 什么是事务 249
15.2.2 事务的特性 249
15.2.3 启动和保存事务 250
15.2.4 提交和回滚事务 250
15.2.5 事务应用案例 251
15.3 锁的应用 252
15.3.1 什么是锁 252
15.3.2 锁的模式 253
15.3.3 锁的粒度 253
15.3.4 锁应用案例 253
15.4 课后习题与练习 255
15.5 新手疑难问题解答 256
15.6 实战训练 256
第16章 用户账户及角色权限的管理 257
16.1 与数据库安全相关的对象 257
16.1.1 数据库用户 257
16.1.2 用户权限 257
16.1.3 认识角色 257
16.1.4 登录账户 258
16.2 登录账号管理 258
16.2.1 创建登录账户 258
16.2.2 修改登录账户 263
16.2.3 删除登录账户 264
16.3 用户管理 264
16.3.1 创建用户 265
16.3.2 修改用户 266
16.3.3 删除用户 268
16.4 角色管理 269
16.4.1 认识角色 269
16.4.2 创建角色 271
16.4.3 修改角色 274
16.4.4 删除角色 275
16.5 权限管理 276
16.5.1 认识权限 276
16.5.2 授予权限 276
16.5.3 拒绝权限 276
16.5.4 撤销权限 277
16.6 课后习题与练习 278
16.7 新手疑难问题解答 279
16.8 实战训练 279
第17章 数据库的备份与还原 280
17.1 认识数据库的备份与恢复 280
17.1.1 数据库备份的类型 280
17.1.2 数据库的恢复模式 281
17.1.3 配置恢复模式 281
17.2 数据库的备份设备 282
17.2.1 创建数据库备份设备 282
17.2.2 查看数据库备份设备 283
17.2.3 删除数据库备份设备 283
17.3 备份数据库 284
17.3.1 完整备份 284
17.3.2 差异备份 285
17.3.3 事务日志备份 285
17.3.4 文件和文件组备份 285
17.3.5 以图形向导方式备份数据库 286
17.4 还原数据库 288
17.4.1 还原数据库文件 288
17.4.2 以图形向导方式还原数据库 288
17.4.3 还原文件和文件组 291
17.4.4 以图形向导方式还原文件组 292
17.5 课后习题与练习 293
17.6 新手疑难问题解答 294
17.7 实战训练 294
第18章 SQL Server数据库的维护 295
18.1 认识SQL Server代理 295
18.1.1 启动SQL Server代理 295
18.1.2 关闭SQL Server代理 296
18.2 维护计划 296
18.2.1 创建维护计划 296
18.2.2 执行维护计划 299
18.3 作业 300
18.3.1 创建一个作业 300
18.3.2 定义一个作业步骤 300
18.3.3 创建一个作业执行计划 302
18.3.4 查看与管理作业 304
18.4 警报 306
18.4.1 创建警报 306
18.4.2 查看警报 306
18.4.3 删除警报 307
18.5 操作员 308
18.5.1 创建操作员 308
18.5.2 使用操作员 308
18.6 全程加密 309
18.6.1 选择加密类型 310
18.6.2 设置主密钥配置 313
18.7 课后习题与练习 314
18.8 新手疑难问题解答 315
18.9 实战训练 316