第1章 初识SQL Server 2014 1
1.1 SQL Server 2014的优势 1
1.2 SQL Server 2014的新功能 2
1.3 SQL Server 2014的组成 3
1.3.1 SQL Server 2014数据库引擎 3
1.3.2 分析服务(Analysis Services) 3
1.3.3 集成服务(Integration Services) 3
1.3.4 报表服务(Reporting Services) 4
1.4 如何选择SQL Server 2014的版本 4
1.5 安装SQL Server 2014 5
1.5.1 SQL Server 2014安装环境需求 5
1.5.2 安装SQL Server 2014 6
1.5.3 SQL Server 2014常见实用程序 16
1.6 SSMS基本操作 17
1.6.1 SSMS的启动与连接 18
1.6.2 使用模板资源管理器、解决方案与项目脚本 20
1.6.3 配置SQL Server 2014服务器的属性 22
1.6.4 查询编辑器 31
1.7 本章小结 35
1.8 经典习题 35
第2章 数据库的操作 36
2.1 数据库组成 36
2.1.1 数据文件 37
2.1.2 日志文件 37
2.2 系统数据库 37
2.2.1 master数据库 37
2.2.2 model数据库 38
2.2.3 msdb数据库 38
2.2.4 tempdb数据库 38
2.3 创建数据库 38
2.3.1 使用对象资源管理器创建数据库 38
2.3.2 使用Transact-SQL创建数据库 43
2.4 管理数据库 47
2.4.1 修改数据库 47
2.4.2 修改数据库容量 48
2.4.3 增加数据库容量 49
2.4.4 缩减数据库容量 51
2.4.5 查看数据库信息 52
2.4.6 数据库更名 55
2.4.7 删除数据库 56
2.5 疑难解惑 58
2.6 经典习题 58
第3章 数据表的操作 59
3.1 SQL Server 2014数据库对象 59
3.2 创建数据表 60
3.2.1 数据类型 61
3.2.2 使用对象资源管理器创建表 71
3.2.3 使用Transact-SQL创建表 72
3.3 管理数据表 74
3.3.1 修改表字段 74
3.3.2 修改表约束 80
3.3.3 查看表中有关信息 86
3.3.4 删除表 88
3.4 疑难解惑 89
3.5 经典习题 90
第4章 Transact-SQL语言基础 91
4.1 Transact-SQL概述 91
4.1.1 什么是Transact-SQL 92
4.1.2 T-SQL语法的约定 92
4.2 如何给标识符起名 94
4.3 常量 95
4.3.1 数字常量 96
4.3.2 字符串常量 96
4.3.3 日期和时间常量 97
4.3.4 符号常量 97
4.4 变量 98
4.4.1 全局变量 98
4.4.2 局部变量 100
4.4.3 批处理和脚本 102
4.5 运算符和表达式 103
4.5.1 算术运算符 104
4.5.2 比较运算符 104
4.5.3 逻辑运算符 104
4.5.4 连接运算符 105
4.5.5 按位运算符 105
4.5.6 运算符的优先级 105
4.5.7 什么是表达式 106
4.5.8 Transact-SQL表达式的分类 106
4.6 Transact-SQL利器——通配符 107
4.7 Transact-SQL语言中的注释 108
4.8 疑难解惑 108
4.9 经典习题 109
第5章 轻松掌握Transact-SQL语句 110
5.1 数据定义语句(DDL) 110
5.1.1 CREATE的应用 110
5.1.2 DROP的功能 114
5.1.3 ALTER的功能 114
5.2 数据操作语句(DML) 117
5.2.1 数据的插入——INSERT 117
5.2.2 数据的更改——UPDATE 119
5.2.3 数据的删除——DELETE 121
5.2.4 数据的查询——SELECT 123
5.3 数据控制语句(DCL) 131
5.3.1 授予权限操作——GRANT 131
5.3.2 拒绝权限操作——DENY 132
5.3.3 收回权限操作——REVOKE 132
5.4 其他基本语句 132
5.4.1 数据声明——DECLARE 132
5.4.2 数据赋值——SET 133
5.4.3 数据输出——PRINT 134
5.5 流程控制语句 135
5.5.1 BEGIN...END语句 135
5.5.2 IF...ELSE语句 136
5.5.3 CASE语句 137
5.5.4 WHILE语句 139
5.5.5 GOTO语句 141
5.5.6 WAITFOR语句 141
5.5.7 RETURN语句 143
5.6 批处理语句 143
5.7 疑难解惑 144
5.8 经典习题 145
第6章 认识函数 146
6.1 SQL Server 2014函数简介 146
6.2 字符串函数 147
6.2.1 ASCII()函数 147
6.2.2 CHAR()函数 147
6.2.3 LEFT()函数 148
6.2.4 RIGHT()函数 148
6.2.5 LTRIM()函数 149
6.2.6 RTRIM()函数 150
6.2.7 STR()函数 150
6.2.8 字符串逆序的函数REVERSE(s) 151
6.2.9 计算字符串长度的函数LEN(str) 152
6.2.10 匹配子字符串开始位置的函数 152
6.2.11 SUBSTRING()函数 153
6.2.12 LOWER()函数 154
6.2.13 UPPER()函数 154
6.2.14 替换函数REPLACE(s,s1,s2) 155
6.3 数学函数 156
6.3.1 绝对值函数ABS(x)和返回圆周率的函数PI() 156
6.3.2 平方根函数SQRT(x) 156
6.3.3 获取随机数的函数RAND()和RAND(x) 157
6.3.4 四舍五入函数ROUND(x,y) 158
6.3.5 符号函数SIGN(x) 159
6.3.6 获取整数的函数CEILING(x)和FLOOR(x) 159
6.3.7 幂运算函数POWER(x,y)SQUARE (x)和EXP(x) 160
6.3.8 对数运算函数LOG(x)和LOG10(x) 162
6.3.9 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 163
6.3.10 正弦函数SIN(x)和反正弦函数ASIN(x) 163
6.3.11 余弦函数COS(x)和反余弦函数ACOS(x) 164
6.3.12 正切函数、反正切函数和余切函数 165
6.4 数据类型转换函数 167
6.5 文本 168
6.5.1 TEXTPTR函数 168
6.5.2 TEXTVALID函数 169
6.6 日期和时间函数 170
6.6.1 获取系统当前日期的函数GETDATE() 170
6.6.2 返回UTC日期的函数GETUTCDATE() 170
6.6.3 获取天数的函数DAY(d) 171
6.6.4 获取月份的函数MONTH(d) 171
6.6.5 获取年份的函数YEAR(d) 172
6.6.6 获取日期中指定部分字符串值的函数DATENAME(dp,d) 172
6.6.7 获取日期中指定部分的整数值的函数DATEPART(dp,d) 173
6.6.8 计算日期和时间的函数DATEADD(dp,num,d) 174
6.7 系统函数 174
6.7.1 返回表中指定字段的长度值 174
6.7.2 返回表中指定字段的名称 175
6.7.3 返回数据表达式的数据的实际长度函数 176
6.7.4 返回数据库的编号 176
6.7.5 返回数据库的名称 177
6.7.6 返回当前数据库默认的NULL值 177
6.7.7 返回服务器端计算机的标识号 178
6.7.8 返回服务器端计算机的名称 178
6.7.9 返回数据库对象的编号 179
6.7.10 返回用户的SID(安全标识号) 179
6.7.11 返回用户的登录名 180
6.7.12 返回数据库对象的名称 180
6.7.13 返回数据库用户的标识号 181
6.7.14 返回数据库用户名 181
6.8 疑难解惑 182
6.9 经典习题 182
第7章 Transact-SQL查询 184
7.1 查询工具的使用 184
7.1.1 编辑查询 185
7.1.2 查询结果的显示方法 186
7.2 使用SELECT进行查询 187
7.2.1 使用星号和列名 188
7.2.2 使用DISTINCT取消重复 190
7.2.3 使用TOP返回前n行 191
7.2.4 修改列标题 192
7.2.5 在查询结果集中显示字符串 193
7.2.6 查询的列为表达式 194
7.3 使用WHERE子句进行条件查询 195
7.3.1 使用关系表达式查询 195
7.3.2 使用BETWEEN AND表示范围 197
7.3.3 使用IN关键字 198
7.3.4 使用LIKE关键字 200
7.3.5 使用IS NULL查询空值 203
7.3.6 使用EXISTS关键字 205
7.3.7 使用ORDER BY排序 206
7.3.8 使用GROUP BY分组 208
7.3.9 使用HAVING对分组结果过滤 210
7.3.10 使用UNION合并查询结果集 210
7.4 使用聚合函数统计汇总 212
7.4.1 使用SUM()求列的和 212
7.4.2 使用AVG()求列平均值 213
7.4.3 使用MAX()求列最大值 215
7.4.4 使用MIN()求列最小值 216
7.4.5 使用COUNT()统计 217
7.5 嵌套查询 219
7.5.1 使用比较运算符 220
7.5.2 使用IN关键字 221
7.5.3 使用ANY、SOME和ALL关键字 222
7.5.4 使用EXISTS关键字 224
7.6 多表连接查询 224
7.6.1 相等连接 225
7.6.2 不等连接 225
7.6.3 带选择条件的连接 226
7.6.4 自连接 227
7.7 外连接 227
7.7.1 左外连接 228
7.7.2 右外连接 229
7.7.3 全外连接 230
7.8 使用排序函数 230
7.9 动态查询 233
7.10 疑难解惑 234
7.11 经典习题 235
第8章 数据的更新 237
8.1 插入数据——INSERT 237
8.1.1 插入单行数据 238
8.1.2 插入多行数据 241
8.2 修改数据——UPDATE 243
8.2.1 修改单行数据 244
8.2.2 修改多行数据 244
8.3 删除数据——DELETE 246
8.3.1 删除部分数据 246
8.3.2 删除表中所有数据 247
8.4 疑难解惑 247
8.5 经典习题 248
第9章 规则、默认和完整性约束 249
9.1 规则和默认概述 249
9.2 规则的基本操作 250
9.2.1 创建规则 250
9.2.2 把自定义规则绑定到列 250
9.2.3 验证规则作用 251
9.2.4 取消规则绑定 251
9.2.5 删除规则 252
9.3 默认的基本操作 253
9.3.1 创建默认 253
9.3.2 把自定义默认绑定到列 253
9.3.3 验证默认作用 254
9.3.4 取消默认绑定 254
9.3.5 删除默认值 255
9.4 完整性约束 256
9.4.1 主键约束 256
9.4.2 外键约束 260
9.4.3 唯一性约束 263
9.4.4 CHECK约束 264
9.4.5 DEFAULT约束 264
9.4.6 NOT NULL约束 265
9.5 疑难解惑 265
9.6 经典习题 265
第10章 创建和使用索引 267
10.1 索引的含义和特点 267
10.2 索引的分类 268
10.3 索引的设计原则 269
10.4 创建索引 270
10.4.1 使用对象资源管理器创建索引 270
10.4.2 使用T-SQL语句创建索引 273
10.5 管理和维护索引 276
10.5.1 显示索引信息 276
10.5.2 重命名索引 278
10.5.3 删除索引 279
10.6 疑难解惑 280
10.7 经典习题 281
第11章 事务和锁 282
11.1 事务管理 282
11.1.1 事务的原理 283
11.1.2 事务管理的常用语句 284
11.1.3 事务的隔离级别 284
11.1.4 事务的应用案例 285
11.2 锁 288
11.2.1 锁的内涵与作用 288
11.2.2 可锁定资源与锁的类型 289
11.2.3 死锁 290
11.2.4 锁的应用案例 291
11.3 疑难解惑 295
11.4 经典习题 296
第12章 游标 297
12.1 认识游标 297
12.1.1 游标的概念 297
12.1.2 游标的优点 298
12.1.3 游标的分类 298
12.2 游标的基本操作 299
12.2.1 声明游标 300
12.2.2 打开游标 301
12.2.3 读取游标中的数据 302
12.2.4 关闭游标 303
12.2.5 释放游标 304
12.3 游标的运用 304
12.3.1 使用游标变量 304
12.3.2 用游标为变量赋值 305
12.3.3 用ORDER BY子句改变游标中行的顺序 306
12.3.4 用游标修改数据 308
12.3.5 用游标删除数据 309
12.4 使用系统存储过程管理游标 310
12.4.1 sp_cursor_list存储过程 310
12.4.2 sp_describe_cursor存储过程 311
12.4.3 sp_describe_cursor_columns存储过程 313
12.4.4 sp_describe_cursor_tables存储过程 315
12.5 疑难解惑 317
12.6 经典习题 317
第13章 存储过程和自定义函数 318
13.1 存储过程概述 318
13.2 存储过程分类 319
13.2.1 系统存储过程 319
13.2.2 自定义存储过程 320
13.2.3 扩展存储过程 320
13.3 创建存储过程 320
13.3.1 如何创建存储过程 320
13.3.2 调用存储过程 324
13.3.3 创建带输入参数的存储过程 325
13.3.4 创建带输出参数的存储过程 328
13.4 管理存储过程 329
13.4.1 修改存储过程 329
13.4.2 查看存储过程信息 331
13.4.3 重命名存储过程 333
13.4.4 删除存储过程 334
13.5 扩展存储过程 336
13.6 自定义函数 337
13.6.1 创建标量函数 338
13.6.2 创建表值函数 339
13.6.3 删除函数 341
13.7 疑难解惑 343
13.8 经典习题 343
第14章 视图操作 344
14.1 视图概述 344
14.1.1 视图的概念 344
14.1.2 视图的分类 345
14.1.3 视图的优点和作用 346
14.2 创建视图 346
14.2.1 使用视图设计器创建视图 346
14.2.2 使用T-SQL命令创建视图 349
14.3 修改视图 351
14.4 查看视图信息 352
14.5 使用视图修改数据 354
14.5.1 通过视图向基本表中插入数据 354
14.5.2 通过视图修改基本表中的数据 355
14.5.3 通过视图删除基本表中的数据 356
14.6 删除视图 357
14.7 疑难解惑 358
14.8 经典习题 359
第15章 触发器 360
15.1 触发器概述 360
15.1.1 什么是触发器 361
15.1.2 触发器作用 361
15.1.3 触发器分类 361
15.2 创建DML触发器 362
15.2.1 INSERT触发器 362
15.2.2 DELETE触发器 365
15.2.3 UPDATE触发器 366
15.2.4 替代触发器 367
15.2.5 允许使用嵌套触发器 368
15.2.6 递归触发器 370
15.3 创建DDL触发器 372
15.3.1 创建DDL触发器的语法 372
15.3.2 创建数据库作用域的 DDL触发器 372
15.3.3 创建服务器作用域的DDL触发器 373
15.4 管理触发器 375
15.4.1 查看触发器 375
15.4.2 修改触发器 377
15.4.3 删除触发器 378
15.4.4 启用和禁用触发器 378
15.5 疑难解惑 379
15.6 经典习题 380
第16章 SQL Server 2014的安全机制 381
16.1 SQL Server 2014安全性概述 381
16.1.1 SQL Server 2014的安全机制简介 381
16.1.2 基本安全术语 383
16.2 安全验证方式 384
16.2.1 Windows身份验证模式 384
16.2.2 混合模式 385
16.2.3 设置验证模式 385
16.3 SQL Server 2014登录名 386
16.3.1 创建登录账户 386
16.3.2 修改登录账户 396
16.3.3 删除登录账户 397
16.4 SQL Server 2014的角色与权限 398
16.4.1 固定服务器角色 398
16.4.2 数据库角色 399
16.4.3 自定义数据库角色 400
16.4.4 应用程序角色 406
16.4.5 将登录指派到角色 407
16.4.6 将角色指派到多个登录账户 409
16.4.7 权限管理 412
16.5 疑难解惑 414
16.6 经典习题 415
第17章 数据库的备份与还原 416
17.1 备份与还原介绍 416
17.1.1 备份类型 417
17.1.2 还原模式 417
17.1.3 配置还原模式 418
17.2 备份设备 419
17.2.1 备份设备类型 419
17.2.2 创建备份设备 420
17.2.3 查看备份设备 422
17.2.4 删除备份设备 423
17.3 使用T-SQL语言备份数据库 423
17.3.1 完整备份与差异备份 423
17.3.2 文件和文件组备份 426
17.3.3 事务日志备份 428
17.4 在SQL Server Management Studio中还原数据库 429
17.4.1 还原数据库的方式 429
17.4.2 还原数据库前要注意的事项 429
17.4.3 还原数据库备份 431
17.4.4 还原文件和文件组备份 434
17.5 用T-SQL语言还原数据库 435
17.5.1 完整备份还原 435
17.5.2 差异备份还原 437
17.5.3 事务日志备份还原 438
17.5.4 文件和文件组备份还原 438
17.5.5 将数据库还原到某个时间点 439
17.5.6 将文件还原到新位置上 441
17.6 建立自动备份的维护计划 442
17.7 疑难解惑 447
17.8 经典习题 447