出版时间:2014-1 出版社:电子工业出版社
内容概要
《SQL宝典》以应用广泛的 SQL Server 2012数据库为依据,用 16章的篇幅,以基础介绍、数据库及表的创建、数据查询、数据操纵、数据控制、事务控制和数据库管理等数据库操作的一般顺序,由浅入深地介绍 Transact-SQL语言。
《SQL宝典》面向 SQL与 SQL Server的初学者,着重讲解 Transact-SQL的基本和常用的使用语法,同时,结合大量实例,给出了翔实的实例代码,便于读者实践操作,迅速掌握。另外,对一些难以理解的概念和复杂的语法,辅以翔实的理论讲解。因此,从某种意义上讲,《SQL宝典》不仅仅是语法手册,还是学习手册。
《SQL宝典》的特色决定了该书适用于学习SQL编程基础知识的任何读者,尤其适用于SQL新手和SQL Server数据库的初学者,对 SQL Server数据库开发人员也有一定的参考价值。
书籍目录
第1 章 数据库系统与SQL 语言概述.................... 1
1.1 数据库系统与数据模型................................. 1
1.1.1 基本术语........................................... 1
1.1.2 数据库技术的发展............................ 2
1.1.3 数据模型........................................... 4
1.2 数据库系统的体系结构................................. 5
1.2.1 数据库系统的三级模式结构............ 5
1.2.2 数据库管理系统(DBMS) ............ 6
1.2.3 数据库系统的工作流程.................... 7
1.3 关系数据库的简单介绍................................. 8
1.3.1 关系数据库的基本特性.................... 9
1.3.2 关系数据库的设计规范.................... 9
1.4 SQL 语言概述.............................................. 10
1.4.1 SQL 语言的发展............................. 10
1.4.2 SQL 语言的功能............................. 11
1.4.3 SQL 语言的执行形式..................... 11
1.4.4 SQL 语句结构................................. 12
1.4.5 SQL 的环境..................................... 13
1.4.6 SQL DBMS 的客户机/服务器模型........................... 15
1.4.7 SQL 语言的扩展............................. 16
1.5 小结.............................................................. 16
第2 章 Transact-SQL 与SQL Server 2012 ......... 17
2.1 SQL Server 2012 及其简单应用.................. 17
2.1.1 SQL Server 2012 的版本................. 17
2.1.2 SQL Server Management Studio........ 18
2.1.3 使用Management Studio 创建数据库.............................. 19
2.1.4 使用Management Studio 创建、查看、编辑表................. 21
2.1.5 使用Management Studio 编辑运行T-SQL 语言........... 23
2.2 Transact-SQL 语言....................................... 24
2.2.1 Transact-SQL 概述.......................... 24
2.2.2 Transact-SQL 的标识符.................. 25
2.2.3 对象命名规则................................. 25
2.2.4 Transact-SQL 的主要组成.............. 26
2.2.5 Transact-SQL 的其他一些常用命令.......................... 28
2.3 Transact-SQL 在SQL Server 中的执行...... 34
2.3.1 解析Transact-SQL 语句................. 34
2.3.2 编译Transact-SQL 语句................. 35
2.3.3 执行Transact-SQL 语句................. 35
2.4 小结.............................................................. 35
第3 章 数据库与表的操作.................................... 36
3.1 创建、修改和删除数据库........................... 36
3.1.1 SQL Server 数据库的组成.............. 36
3.1.2 创建数据库——CREATE DATABASE................. 38
3.1.3 修改数据库——ALTER DATABASE................. 41
3.1.4 查看数据库信息——sp_helpdb、sp_spaceused .............. 43
3.1.5 删除数据库——DROP DATABASE.................. 46
3.2 SQL Server 中的表....................................... 46
3.2.1 表的结构及设计.............................. 46
3.2.2 Transact-SQL 对表的要求.............. 47
3.2.3 表的类型......................................... 47
3.3 SQL Server 2012 中的数据类型.................. 48
3.3.1 数字类型......................................... 48
3.3.2 时间和日期类型.............................. 50
3.3.3 字符数据类型.................................. 52
3.3.4 二进制数据类型.............................. 54
3.3.5 其他数据类型.................................. 54
3.3.6 用户自定义数据类型...................... 55
3.3.7 数据类型同义词.............................. 57
3.4 创建表(CREATE TABLE) ..................... 58
3.4.1 实例表设计...................................... 58
3.4.2 创建基本表——CREATE TABLE... 59
3.4.3 指定值非空——NOT NULL.......... 61
3.4.4 指定列的默认值——DEFAULT.... 62
3.5 编辑表结构(ALTER TABLE) ................ 63
3.5.1 添加列或约束——ADD................. 63
3.5.2 修改列的定义——ALTERCOLUMN...................... 64
3.5.3 删除列——DROP COLUMN......... 65
3.6 重命名、删除表........................................... 67
3.6.1 修改表的名称——sp_rename......... 67
3.6.2 删除基本表——DROP TABLE ..... 68
3.7 小结.............................................................. 68
第4 章 基本的查询............................................... 69
4.1 SELECT 语句的结构与执行....................... 69
4.1.1 SELECT 语句的语法结构.............. 69
4.1.2 SELECT 各子句的顺序及功能...... 70
4.1.3 SELECT 语句各子句的执行.......... 70
4.2 最简单的查询.............................................. 71
4.2.1 向实例表中添加数据...................... 71
4.2.2 查询表中列的数据——FROM子句............................. 72
4.2.3 去除结果的重复信息——DISTINCT................... 73
4.2.4 查询所有列——“*”...................... 75
4.2.5 进行无数据源检索.......................... 76
4.2.6 返回查询的部分数据——TOP ...... 76
4.3 带有搜索条件的查询................................... 78
4.3.1 简单的选择查询——WHERE........ 78
4.3.2 使用比较表达式............................. 79
4.3.3 使用基本的逻辑表达式——NOT、AND、OR............... 80
4.3.4 空值(NULL)的判断——IS [NOT] NULL............ 85
4.3.5 限定数据范围——BETWEEN....... 86
4.3.6 限制检索数据的范围——IN.......... 88
4.3.7 模糊查询——LIKE ........................ 89
4.4 排序查询结果.............................................. 94
4.4.1 基本排序——ORDER BY.............. 94
4.4.2 对多列进行排序............................. 97
4.5 小结.............................................................. 98
第5 章 查询中表达式与函数的使用.................... 99
5.1 SQL Server 中的运算符............................... 99
5.1.1 算术运算符..................................... 99
5.1.2 位运算符......................................... 99
5.1.3 比较运算符................................... 100
5.1.4 逻辑运算符................................... 100
5.1.5 字符串连接符............................... 101
5.1.6 赋值运算符................................... 101
5.1.7 运算符的优先级........................... 101
5.2 SELECT 子句中表达式的使用................. 101
5.2.1 使用连接符连接列—“+”............ 102
5.2.2 操作查询的列名——“=”、“AS”..... 103
5.2.3 对重命名列的操作........................ 105
5.2.4 算术表达式的使用........................ 107
5.3 数学函数的使用........................................ 108
5.3.1 三角函数....................................... 108
5.3.2 计算函数....................................... 109
5.3.3 近似函数....................................... 109
5.4 字符处理函数的使用................................. 110
5.4.1 SQL Server 2012 中的字符处理函数...................... 110
5.4.2 字符的转换处理函数.................... 111
5.4.3 字符串的提取函数........................ 114
5.4.4 其他字符串处理函数.................... 118
5.5 日期、时间处理函数的使用..................... 120
5.5.1 SQL Server 2012 中的日期处理函数.................... 120
5.5.2 获取当前时间——GETDATE、GETUTCDATE、CURRENT_TIMESTAMP.......... 120
5.5.3 增加、减少时间——DATEADD.... 121
5.5.4 获取时间间隔——DATEDIFF..... 122
5.5.5 获取时间整数值——DAY、MONTH、YEAR、DATEPART.... 123
5.5.6 获取时间的字符串——DATENAME................. 124
5.5.7 常用的时间计算............................ 124
5.6 类型转换函数的使用................................. 126
5.6.1 类型转换——CAST ..................... 126
5.6.2 类型转换—CONVERT............. 128
5.7 小结............................................................ 129
第6 章 系统函数、聚合函数与分组查询.......... 130
6.1 系统函数的使用......................................... 130
6.1.1 信息查询相关的系统函数............ 130
6.1.2 判断、分类系统函数.................... 131
6.1.3 统计系统函数................................ 134
6.2 聚合函数的使用......................................... 136
6.2.1 聚合函数的种类............................ 136
6.2.2 计数函数——COUNT.................. 137
6.2.3 求和函数——SUM....................... 138
6.2.4 均值函数——AVG....................... 139
6.2.5 最大值/最小值函数——MAX/MIN.................. 140
6.2.6 统计函数——STDEV、STDEVP、VAR、VARP............. 141
6.2.7 聚合函数的重值处理——ALL、DISTINCT ................ 141
6.2.8 聚合函数的执行机理.................... 142
6.3 分组查询.................................................... 143
6.3.1 简单分组——GROUP BY............ 143
6.3.2 多列分组....................................... 144
6.3.3 分组查询中NULL 值的处理....... 145
6.3.4 汇总数据运算符——CUBE、ROLLUP......................... 146
6.3.5 区分不同的NULL 值——GROUPING ........................... 147
6.3.6 筛选分组结果——HAVING........ 148
6.3.7 多级分类汇总——COMPUTE..... 150
6.3.8 对分组聚合结果进行聚合分析.... 152
6.4 小结................................................ 154
第7 章 数据连接与多表查询.............................. 155
7.1 多表连接的基本概念与实现..................... 155
7.1.1 连接的概念................................... 155
7.1.2 连接的类型与实现........................ 156
7.1.3 创建实例表ReaderInfo................. 156
7.2 简单多表查询的实现................................. 158
7.2.1 使用FROM 子句实现多表查询.... 158
7.2.2 使用WHERE 子句指定连接条件... 159
7.2.3 使用别名作为表名的简写............ 160
7.2.4 自连接表进行查询........................ 161
7.3 使用JOIN 关键字实现表的连接.............. 163
7.3.1 基本连接语法............................... 163
7.3.2 内部连接——INNER JOIN.......... 163
7.3.3 外部连接——OUTER JOIN ......... 165
7.3.4 交叉连接——CROSS JOIN ......... 170
7.3.5 连接与空值................................... 171
7.3.6 表的连接与聚合分析.................... 173
7.4 集合运算.................................................... 174
7.4.1 关系的集合运算............................ 174
7.4.2 集合并运算——UNION............... 175
7.4.3 多表的UNION 操作..................... 177
7.4.4 UNION 与JOIN 的区别............... 178
7.4.5 集合差/集合交运算——EXCEPT/INTERSECT...................... 179
7.4.6 集合运算在Transact-SQL 语句的使用原则...................... 182
7.5 小结............................................................ 183
第8 章 数据库数据操作...................................... 184
8.1 向表中添加数据——INSERT ................... 184
8.1.1 INSERT 命令的基本语法............. 184
8.1.2 整行插入数据............................... 185
8.1.3 INSERT 操作中NULL 值的处理.... 186
8.1.4 INSERT 操作中默认值的处理..... 187
8.1.5 INSERT 操作中唯一值的处理..... 188
8.1.6 使用INSERT…SELECT 插入数据........................ 189
8.2 修改和更新表中的数据——UPDATE ..... 191
8.2.1 UPDATE 命令的基本语法........... 192
8.2.2 使用UPDATE 更新数据行.......... 192
8.2.3 使用FROM 和WHERE 子句根据多表连接更新数据................... 193
8.2.4 大值数据类型字段值的更新........ 195
8.2.5 使用OPENROWSET 和BULK来操作大型数据对象................... 197
8.3 删除表中的数据——DELETE.................. 199
8.3.1 DELETE 命令的基本语法............ 199
8.3.2 使用DELETE 删除行................... 200
8.3.3 使用TRUNCATE TABLE 删除表中的所有数据........................... 201
8.4 BLOB(TEXT、NTEXT 和IMAGE)数据处理............................ 202
8.4.1 写入BLOB 数据——WRITETEXT ................................ 202
8.4.2 更新BLOB 数据——UPDATETEXT ............................. 204
8.4.3 TEXTSIZE 选项和@@TEXTSIZE函数........................ 205
8.5 OUTPUT 子句............................................ 206
8.5.1 基本语法....................................... 206
8.5.2 OUTPUT 子句的使用................... 207
8.6 表中数据的复制和导入导出操作............. 211
8.6.1 复制表中数据——SELECT…INTO ..................... 211
8.6.2 导入导出数据——BCP 工具....... 212
8.7 小结............................................................ 214
第9 章 子查询及FOR XML 子句的使用.......... 215
9.1 子查询基础................................................ 215
9.1.1 相关子查询与非相关子查询........ 215
9.1.2 子查询的组成................................ 217
9.1.3 子查询的使用方式及限制............ 217
9.2 比较运算符引入返回单值的子查询......... 218
9.2.1 比较运算符引入子查询................ 218
9.2.2 在子查询中使用聚合函数返回单值................... 220
9.3 IN 或修改的比较运算符引入返回多值的子查询................... 222
9.3.1 使用[NOT]IN 引入子查询............ 222
9.3.2 使用修改的比较运算符引入返回多值的子查询............... 225
9.4 EXISTS 引入的存在测试子查询.............. 229
9.4.1 使用EXISTS 的子查询................ 229
9.4.2 EXISTS 子查询的使用................. 230
9.4.3 使用EXISTS 子查询检查表中的重复行............. 231
9.5 子查询的其他应用..................................... 232
9.5.1 在子查询中使用TOP 关键字...... 232
9.5.2 在SELECT 子句中使用子查询... 233
9.5.3 在HAVING 子句中使用子查询.. 234
9.5.4 在数据操作语句(DML)中使用子查询...................... 236
9.6 FOR XML 子句.......................................... 237
9.6.1 FOR XML 子句的基本语法......... 238
9.6.2 FOR XML RAW 模式及使用....... 238
9.6.3 FOR XML AUTO 模式及使用..... 240
9.6.4 FOR XML EXPLICIT 模式及使用................. 241
9.6.5 FOR XML PATH 模式及使用...... 243
9.6.6 使用TYPE 指令返回XML 数据类型.............................. 246
9.6.7 在数据操作语句(DML)中使用FOR XML 子句........... 246
9.7 小结............................................................ 247
第10 章 表的约束、索引与视图....................... 248
10.1 表键及其使用.......................................... 248
10.1.1 表约束的种类............................. 248
10.1.2 约束的创建................................. 248
10.1.3 主键约束——PRIMARY KEY ..... 249
10.1.4 外键约束——FOREIGN KEY.... 251
10.1.5 外键与级联引用完整性约束...... 255
10.1.6 标识符列——IDENTITY 属性..... 258
10.1.7 查看、更改标识值——DBCC CHECKIDENT............................ 260
10.2 表的约束.................................................. 261
10.2.1 唯一性约束——UNIQUE .......... 261
10.2.2 校验约束——CHECK................ 262
10.2.3 约束的删除、修改和禁用.......... 264
10.3 索引.......................................................... 266
10.3.1 索引的基础知识.......................... 267
10.3.2 创建索引——CREATE INDEX.... 268
10.3.3 非聚集索引的创建和使用——NONCLUSTERED ..................... 269
10.3.4 聚集索引的创建和使用——CLUSTERED.............................. 272
10.3.5 聚集索引和非聚集索引的使用..... 274
10.3.6 查看、修改和删除索引.............. 274
10.3.7 索引的使用准则.......................... 277
10.4 视图.......................................................... 278
10.4.1 视图的基础知识.......................... 278
10.4.2 创建视图——CREATE VIEW..... 279
10.4.3 查询视图的定义和相关信息...... 281
10.4.4 修改、更新和删除视图.............. 283
10.4.5 通过视图修改表中记录.............. 284
10.4.6 索引视图及其使用...................... 288
10.5 小结.......................................................... 290
第11 章 存储过程与用户自定义函数................ 291
11.1 理解存储过程........................................... 291
11.1.1 存储过程的基本概念.................. 291
11.1.2 存储过程的优点.......................... 291
11.1.3 存储过程的种类.......................... 292
11.2 程序流控制语句....................................... 292
11.2.1 SQL Server 中的程序流控制语句.................... 292
11.2.2 IF…ELSE 条件选择结构............ 293
11.2.3 BEGIN…END 语句块................ 294
11.2.4 CASE 结构.................................. 294
11.2.5 WHILE 循环结构........................ 296
11.2.6 WAITFOR 等待语句.................. 297
11.3 存储过程的创建和使用........................... 298
11.3.1 系统存储过程.............................. 298
11.3.2 创建存储过程——CREATE PROCEDURE ............ 298
11.3.3 创建存储过程的实例.................. 299
11.3.4 执行存储过程——EXECUTE.... 302
11.3.5 查看、修改和删除存储过程...... 304
11.4 用户自定义函数的创建和使用............... 306
11.4.1 创建标量型自定义函数.............. 307
11.4.2 创建内联表值自定义函数.......... 308
11.4.3 创建多语句表值自定义函数...... 309
11.4.4 调用用户自定义函数.................. 311
11.4.5 修改、查询和删除自定义函数.... 312
11.5 小结.......................................................... 313
第12 章 触发器与错误处理............................... 314
12.1 触发器的基本概念................................... 314
12.1.1 触发器简介................................. 314
12.1.2 触发器的类型.............................. 314
12.1.3 触发器的作用及使用.................. 315
12.1.4 触发器的执行环境...................... 316
12.2 创建和使用DML 触发器........................ 317
12.2.1 AFTER DML 触发器的创建语法.................. 317
12.2.2 AFTER DML 触发器的创建实例....................... 318
12.2.3 测试对指定列的UPDATE 操作.. 321
12.2.4 INSTEAD OF DML 触发器的创建和使用...................... 323
12.2.5 嵌套触发器................................. 327
12.2.6 递归触发器................................. 330
12.2.7 查询DML 触发器的相关信息.... 333
12.3 创建和使用DDL 触发器......................... 334
12.3.1 DDL 触发器的创建语法............. 334
12.3.2 DDL 触发器的创建实例............. 335
12.3.3 查询DDL 触发器的相关信息.... 337
12.4 触发器的管理.......................................... 339
12.4.1 使用系统存储过程查询触发器的相关信息............... 339
12.4.2 修改触发器——ALTER TRIGGER................... 340
12.4.3 禁用/启用触发器——DISABLE/ENABLE TRIGGER ... 341
12.4.4 设置触发器的激发顺序——sp_settriggerorder .......... 341
12.4.5 删除触发器——DROP TRIGGER..................... 343
12.5 错误的获取与处理................................... 344
12.5.1 查询错误消息——sys.messages .... 344
12.5.2 使用用户自定义错误消息——sp_addmessage/sp_dropmessage.... 345
12.5.3 激发错误消息——RAISERROR.... 346
12.5.4 获取错误消息——TRY…CATCH/@@ERROR.................. 347
12.6 小结.......................................................... 349
第13 章 安全性管理——主体、权限、安全对象............... 350
13.1 SQL Server 2012 安全模式...................... 350
13.1.1 主体(Principals)...................... 350
13.1.2 安全对象(Securables) ............ 354
13.1.3 权限(Permissions) .................. 355
13.2 创建与管理Windows 级别的主体.......... 357
13.2.1 创建Windows 认证登录用户(组)——CREATE LOGIN ...... 357
13.2.2 查看Windows 认证登录用户..... 358
13.2.3 修改Windows 认证登录用户——ALTER LOGIN......... 359
13.2.4 删除Windows 认证登录用户——DROP LOGIN ................. 359
13.3 创建与管理SQL Server 级别的主体...... 360
13.3.1 创建SQL Server 认证登录用户——CREATE LOGIN ............ 360
13.3.2 修改SQL Server 认证登录用户——ALTER LOGIN............... 361
13.3.3 查询服务器角色信息.................. 363
13.3.4 管理服务器角色信息.................. 363
13.4 创建与管理数据库级别的主体............... 365
13.4.1 创建数据库用户——CREATE USER..................... 365
13.4.2 修改、删除数据库用户——ALTER/DROP USER ................. 367
13.4.3 管理数据库用户.......................... 367
13.4.4 管理固定数据库角色.................. 370
13.4.5 管理用户自定义数据库角色...... 371
13.4.6 管理应用程序角色...................... 373
13.5 安全对象与权限....................................... 375
13.5.1 SQL Server 的内置权限.............. 375
13.5.2 服务器范围的安全对象及其权限管理.................. 376
13.5.3 数据库范围的安全对象及其权限管理............... 379
13.5.4 架构范围的安全对象及其权限管理................... 380
13.5.5 对象类安全对象及其权限管理.... 385
13.6 主体、安全对象和权限的管理............... 388
13.6.1 评估当前用户对安全对象的有效权限——Has_perms_by_name ..... 388
13.6.2 查询当前用户对安全对象的有效权限——fn_my_permissions...... 389
13.6.3 创建凭据——CREATE CREDENTIAL .......... 390
13.7 小结.......................................................... 391
第14 章 事务控制和并发处理............................ 392
14.1 事务控制的基本概念............................... 392
14.1.1 事务控制的必要性...................... 392
14.1.2 事务的ACID 特性及实现.......... 393
14.1.3 事务的状态.................................. 393
14.1.4 Transact-SQL 中事务的执行...... 394
14.2 SQL Server 中事务的实现....................... 395
14.2.1 启动事务——BEGIN TRANSACTION......................... 395
14.2.2 提交事务——COMMIT TRANSACTION......................... 397
14.2.3 回滚事务——ROLLBACK TRANSACTION......................... 399
14.2.4 设置事务的保存点——SAVE TRANSACTION......................... 401
14.3 并发控制及其实现................................... 402
14.3.1 并发访问的问题.......................... 403
14.3.2 SQL Server 中的锁...................... 405
14.3.3 锁的使用..................................... 406
14.3.4 显示数据库中活跃的事务和锁信息——DBCC OPENTRAN .... 409
14.3.5 事务隔离级别.............................. 410
14.3.6 设置事务隔离级别——SET TRANSATION.................... 411
14.3.7 不同事务隔离级别实现并发控制实例............... 412
14.3.8 事务阻塞及其解决方法.............. 420
14.3.9 死锁及预防................................. 423
14.4 小结.......................................................... 426
第15 章 游标与全文检索................................... 427
15.1 游标的基本概念...................................... 427
15.1.1 游标的概念................................. 427
15.1.2 游标的实现及应用过程.............. 428
15.2 基本游标的创建和使用........................... 429
15.2.1 创建游标——DECLARE CURSOR..................................... 429
15.2.2 打开游标——OPEN CURSOR .... 430
15.2.3 检索游标数据——FETCH CURSOR ....................... 430
15.2.4 关闭/删除游标——CLOSE/DEALLOCATE........................... 431
15.2.5 遍历游标结果集——@@FETCH_STATUS ....................... 433
15.2.6 使用游标修改、删除数据.......... 434
15.3 Transact-SQL 扩展游标与游标的管理..... 436
15.3.1 Transact-SQL 扩展游标语法...... 436
15.3.2 使用游标变量............................. 438
15.3.3 事务中游标的使用...................... 440
15.3.4 游标的管理................................. 441
15.4 全文检索基础.......................................... 442
15.4.1 全文索引和全文目录.................. 442
15.4.2 创建全文目录——CREATE FULLTEXT CATALOG............. 442
15.4.3 创建全文索引——CREATE FULLTEXT INDEX.................... 443
15.5 使用全文谓词和全文函数进行全文检索..... 445
15.5.1 使用CONTAINS 谓词进行全文检索........................ 445
15.5.2 使用FREETEXT 谓词进行全文检索....................... 448
15.5.3 使用全文函数——CONTAINSTABLE和FREETEXTTABLE ............... 448
15.6 小结.......................................................... 450
第16 章 服务器与数据库的配置与管理............ 451
16.1 管理服务器配置选项............................... 451
16.1.1 查询服务器配置选项.................. 451
16.1.2 更改服务器配置选项.................. 453
16.2 管理数据库配置选项............................... 454
16.2.1 查询数据库信息.......................... 455
16.2.2 自动选项及其设置...................... 456
16.2.3 ANSI SQL 选项及其设置........... 457
16.2.4 外部数据源对数据库的访问选项....................... 459
16.2.5 游标选项及其设置...................... 459
16.2.6 数据库恢复选项和磁盘I/O 错误检查........................ 460
16.2.7 控制数据库的状态和属性.......... 462
16.2.8 数据库磁盘空间管理.................. 464
16.3 数据库的维护........................................... 467
16.3.1 检查磁盘空间分配结构的一致性——DBCC CHECKALLOC.... 467
16.3.2 检查数据库对象的结构和逻辑完整性——DBCC CHECKDB ... 469
16.3.3 检查文件组分配和结构完整性——DBCC CHECKFILEGROUP...... 470
16.3.4 检查页和结构的完整性——DBCC CHECKTABLE............... 471
16.3.5 检查约束的完整性——DBCC CHECKCONSTRAINTS ... 472
16.4 数据库的备份与恢复............................... 474
16.4.1 数据库备份与恢复的基本概念.... 474
16.4.2 备份操作相关的Transact-SQL语句............. 476
16.4.3 完整备份——BACKUP DATABASE............ 477
16.4.4 创建逻辑备份设备——sp_addumpdevice.......................... 480
16.4.5 事务日志备份——BACKUP LOG............................. 481
16.4.6 差异备份——DIFFERENTIAL.... 483
16.4.7 文件备份..................................... 484
16.4.8 部分备份——READ_ WRITE_FILEGROUPS............................. 486
16.4.9 查询备份集的元数据.................. 487
16.4.10 数据库还原——RESTORE DATABASE................................ 489
16.5 信息架构视图........................................... 494
16.5.1 信息架构视图简介...................... 494
16.5.2 TABLES 信息架构视图.............. 495
16.5.3 VIEWS 信息架构视图................ 496
16.5.4 COLUMNS 信息架构视图......... 497
16.5.5 ROUTINES 信息架构视图......... 499
16.6 小结.......................................................... 500
图书封面
评论、评分、阅读与下载