本书作者根据长期开发与教学实践所积累的宝贵经验,通过基础知识+中小实例+综合案例的方式,讲述用SQL数据库的必备知识,是一本适合读者快速入门到精通的自学教程。内容包括初识数据库、操作存储数据仓库、操作存储数据单元、约束表中的数据、管理表中的数据、查询语句入门、查询语句提高、系统函数与自定义函数、视图、索引、T-SQL语言基础、存储过程、触发器、数据库备份和还原等,并通过大量实际案例对这些内容进行详细讲解,能够帮助读者提升实际应用技能。
本书内容翔实、结构清晰、循序渐进,基础知识与案例实战紧密结合,既可作SQL数据库设计初学者的入门教材,也适合作为中高级用户对新技术作进一步学习的参考用书。本书显著特色有:1.同步视频讲解,让学习更直观高效;2.海量精彩实例,用实例学更轻松快捷。
封面图
目录
- 前言
- 第1章 初识数据库1
- 1.1 与数据库有关的一些概念1
- 1.1.1 数据库1
- 1.1.2 数据库管理系统1
- 1.1.3 数据库系统2
- 1.2 了解常用的数据库产品3
- 1.2.1 Oracle数据库3
- 1.2.2 MySQL数据库3
- 1.2.3 SQL Server数据库3
- 1.2.4 非关系型数据库4
- 1.3 安装SQL Server 20164
- 1.3.1 SQL Server 2016简述4
- 1.3.2 在Windows Server环境下安装SQL Server 20165
- 1.4 使用SQL Server Management Studio11
- 1.4.1 进入SQL Server 201611
- 1.4.2 异常情况的处理13
- 1.5 使用SQL Server配置管理器13
- 1.6 在SQL Server中已经存在的数据库14
- 1.7 课后练习15
- 1.7.1 填空题15
- 1.7.2 问答题15
- 第2章 操作存储数据的仓库16
- 2.1 创建数据库16
- 2.1.1 创建数据库的语法16
- 2.1.2 用简单的语句创建数据库17
- 2.1.3 为数据库指定一个位置17
- 2.1.4 创建由多个文件组成的数据库18
- 2.1.5 查看已经创建的数据库18
- 2.1.6 使用SQL Server Management Studio创建数据库18
- 2.2 修改数据库21
- 2.2.1 修改数据库的语法21
- 2.2.2 为数据库重命名21
- 2.2.3 更改数据库的容量22
- 2.2.4 在数据库中添加文件23
- 2.2.5 清理数据库中的无用文件25
- 2.2.6 使用SQL Server Management Studio修改数据库25
- 2.3 删除数据库26
- 2.3.1 使用命令删除数据库26
- 2.3.2 使用SQL Server Management Studio删除数据库27
- 2.4 实例演练27
- 2.5 课后练习29
- 第3章 操作存储数据的单元30
- 3.1 数据类型30
- 3.1.1 整型和浮点型30
- 3.1.2 字符串类型31
- 3.1.3 日期时间类型31
- 3.1.4 其他数据类型32
- 3.2 创建数据表33
- 3.2.1 创建数据表的语句33
- 3.2.2 使用CREATE语句创建简单的数据表34
- 3.2.3 创建带自动增长字段的数据表34
- 3.2.4 创建带自定义数据类型的数据表36
- 3.2.5 认识临时表37
- 3.2.6 使用SQL Server Management Studio轻松创建数据表39
- 3.2.7 使用SP_HELP查看表的骨架39
- 3.2.8 使用sysobjects查看表的信息40
- 3.2.9 使用INFORMATION_SCHEMA.COLUMNS查看表的信息41
- 3.3 修改数据表42
- 3.3.1 修改表中的数据类型43
- 3.3.2 更改表中字段的数目43
- 3.3.3 给表中的字段改名44
- 3.3.4 使用SQL Server Management Studio修改表46
- 3.4 删除数据表47
- 3.4.1 删除数据表的语法47
- 3.4.2 使用DROP语句去掉多余的表47
- 3.4.3 使用SQL Server Management Studio轻松删除表47
- 3.5 实例演练48
- 3.6 课后练习49
- 第4章 约束表中的数据50
- 4.1 为什么要使用约束50
- 4.2 主键约束——PRIMARY KEY51
- 4.2.1 在创建表时直接加上主键约束51
- 4.2.2 在修改表时加上主键约束52
- 4.2.3 删除主键约束54
- 4.2.4 使用SQL Server Management Studio轻松使用主键约束55
- 4.3 外键约束——FOREIGN KEY55
- 4.3.1 在创建表时直接加上外键约束56
- 4.3.2 在修改表时加上外键约束57
- 4.3.3 删除外键约束58
- 4.3.4 使用SQL Server Management Studio轻松使用外键约束59
- 4.4 默认值约束——DEFAULT60
- 4.4.1 在创建表时添加默认值约束61
- 4.4.2 在修改表时添加默认值约束61
- 4.4.3 删除默认值约束62
- 4.4.4 使用SQL Server Management Studio轻松使用默认值约束63
- 4.5 检查约束——CHECK63
- 4.5.1 在创建表时添加检查约束63
- 4.5.2 在修改表时添加检查约束64
- 4.5.3 删除检查约束65
- 4.5.4 使用SQL Server Management Studio轻松使用检查约束66
- 4.6 唯一约束——UNIQUE66
- 4.6.1 在创建表时加上唯一约束67
- 4.6.2 在修改表时加上唯一约束68
- 4.6.3 删除唯一约束68
- 4.6.4 使用SQL Server Management Studio轻松使用唯一约束69
- 4.7 非空约束——NOT NULL70
- 4.7.1 在创建表时添加非空约束70
- 4.7.2 在修改表时添加非空约束71
- 4.7.3 删除非空约束71
- 4.7.4 使用SQL Server Management Studio轻松使用非空约束72
- 4.8 实例演练72
- 4.9 课后练习74
- 第5章 管理表中的数据75
- 5.1 向数据表中添加数据——INSERT75
- 5.1.1 INSERT语句的基本语法格式75
- 5.1.2 给表中的全部字段添加值75
- 5.1.3 给需要的字段添加值76
- 5.1.4 给自增长字段添加值77
- 5.1.5 向表中添加数据时使用默认值77
- 5.1.6 表中的数据也能复制78
- 5.1.7 一次多添加几条数据79
- 5.2 修改表中的数据——UPDATE79
- 5.2.1 UPDATE语句的基本语法格式80
- 5.2.2 修改表中的全部数据80
- 5.2.3 只修改想要修改的数据80
- 5.2.4 修改前N条数据81
- 5.2.5 根据其他表的数据更新表81
- 5.3 使用DELETE语句删除表中的数据82
- 5.3.1 DELETE语句的基本语法格式82
- 5.3.2 清空表中的数据82
- 5.3.3 根据条件删除没用的数据82
- 5.3.4 删除前N条数据83
- 5.3.5 使用TRUNCATE TABLE语句清空表中的数据83
- 5.4 使用SQL Server Management Studio操作数据表84
- 5.5 超强的MERGE语句85
- 5.6 实例演练86
- 5.7 课后练习89
- 第6章 查询语句入门90
- 6.1 简单查询90
- 6.1.1 查询语句的基本语法形式90
- 6.1.2 把表中的数据都查出来90
- 6.1.3 查看想要的数据91
- 6.1.4 给查询结果中的列换个名称91
- 6.1.5 使用TOP查询表中的前几行数据92
- 6.1.6 在查询时删除重复的结果93
- 6.1.7 对查询结果排序93
- 6.1.8 查看含有NULL值的列94
- 6.1.9 用LIKE进行模糊查询94
- 6.1.10 用IN查询指定的范围95
- 6.1.11 根据多个条件查询数据95
- 6.2 运算符96
- 6.2.1 算术运算符96
- 6.2.2 比较运算符97
- 6.2.3 逻辑运算符97
- 6.2.4 位运算符98
- 6.2.5 其他运算符98
- 6.2.6 运算符的优先级99
- 6.3 聚合函数99
- 6.3.1 求最大值函数MAX99
- 6.3.2 求最小值函数MIN100
- 6.3.3 求平均值函数AVG100
- 6.3.4 求和函数SUM101
- 6.3.5 求记录行数COUNT101
- 6.4 实例演练101
- 6.5 课后练习104
- 第7章 查询语句进阶105
- 7.1 子查询105
- 7.1.1 使用IN的子查询106
- 7.1.2 使用ALL的子查询106
- 7.1.3 使用SOME的子查询107
- 7.1.4 使用EXISTS的子查询108
- 7.2 分组查询109
- 7.2.1 分组查询介绍109
- 7.2.2 聚合函数在分组查询中的应用110
- 7.2.3 在分组查询中也可以使用条件110
- 7.2.4 对分组查询结果进行排序111
- 7.3 多表查询111
- 7.3.1 笛卡尔积112
- 7.3.2 同一个表的连接——自连接112
- 7.3.3 能查询出额外数据的连接——外连接113
- 7.3.4 只查询符合条件的数据——内连接114
- 7.4 结果集的运算115
- 7.4.1 使用UNION关键字合并查询结果115
- 7.4.2 排序合并查询的结果116
- 7.4.3 使用EXCEPT关键字对结果集进行差运算118
- 7.4.4 使用INTERSECT关键字对结果集进行交运算118
- 7.5 实例演练119
- 7.6 课后练习123
- 第8章 系统函数与自定义函数124
- 8.1 系统函数124
- 8.1.1 数学函数124
- 8.1.2 字符串函数126
- 8.1.3 日期时间函数130
- 8.1.4 其他函数131
- 8.2 自定义函数133
- 8.2.1 创建自定义函数的语法133
- 8.2.2 创建一个没有参数的标量函数133
- 8.2.3 创建一个带参数的标量函数134
- 8.2.4 创建表值函数135
- 8.2.5 修改自定义函数136
- 8.2.6 删除自定义函数136
- 8.2.7 在SQL Server Management Studio中管理自定义函数136
- 8.3 实例演练138
- 8.4 课后练习139
- 第9章 视图140
- 9.1 了解视图140
- 9.1.1 视图的基本概念140
- 9.1.2 视图的分类141
- 9.1.3 视图的优点和作用141
- 9.2 创建视图142
- 9.2.1 使用视图设计器创建视图142
- 9.2.2 使用T-SQL命令创建视图143
- 9.3 修改视图146
- 9.3.1 使用视图修改数据146
- 9.3.2 通过视图向基本表中插入数据147
- 9.3.3 通过视图修改基本表中的数据148
- 9.3.4 通过视图删除基本表中的数据148
- 9.4 删除视图149
- 9.5 操作视图150
- 9.5.1 使用DML语句操作视图150
- 9.5.2 在SQL Server Management Studio中操作视图153
- 9.6 实例演练153
- 9.7 课后练习155
- 第10章 索引156
- 10.1 神奇的索引156
- 10.1.1 索引的含义和特点156
- 10.1.2 索引的分类157
- 10.1.3 索引的设计原则158
- 10.2 创建索引159
- 10.2.1 使用对象资源管理器创建索引159
- 10.2.2 使用T-SQL语句创建索引162
- 10.3 管理和维护索引163
- 10.3.1 显示索引信息164
- 10.3.2 修改索引166
- 10.3.3 删除索引166
- 10.4 在SQL Server Management Studio中操作索引167
- 10.5 课后练习169
- 第11章 T-SQL语言基础170
- 11.1 T-SQL概述170
- 11.1.1 什么是T-SQL170
- 11.1.2 了解T-SQL语法规则171
- 11.2 常量171
- 11.2.1 数字常量172
- 11.2.2 字符串常量172
- 11.2.3 日期和时间常量172
- 11.3 变量172
- 11.3.1 全局变量172
- 11.3.2 局部变量173
- 11.3.3 批处理和脚本173
- 11.4 运算符和表达式174
- 11.4.1 算术运算符174
- 11.4.2 比较运算符174
- 11.4.3 逻辑运算符175
- 11.4.4 连接运算符175
- 11.4.5 位运算符175
- 11.4.6 运算符的优先级176
- 11.4.7 什么是表达式176
- 11.4.8 T-SQL表达式的分类177
- 11.5 流程控制语句178
- 11.5.1 BEGIN…END语句178
- 11.5.2 IF…ELSE语句178
- 11.5.3 CASE语句179
- 11.5.4 WHILE语句180
- 11.5.5 GOTO语句181
- 11.5.6 WAITFOR语句182
- 11.5.7 RETURN语句182
- 11.6 游标183
- 11.7 使用事务控制语句188
- 11.8 实例演练191
- 11.9 课后练习195
- 第12章 存储过程196
- 12.1 存储过程很强大196
- 12.2 存储过程的分类197
- 12.2.1 系统存储过程197
- 12.2.2 自定义存储过程197
- 12.2.3 扩展存储过程198
- 12.3 创建存储过程198
- 12.3.1 创建存储过程的基本方法198
- 12.3.2 调用存储过程199
- 12.3.3 创建带输入参数的存储过程199
- 12.3.4 创建带输出参数的存储过程200
- 12.4 管理存储过程201
- 12.4.1 修改存储过程201
- 12.4.2 查看存储过程信息202
- 12.4.3 重命名存储过程203
- 12.4.4 删除存储过程204
- 12.4.5 使用SQL Server Management Studio管理存储过程204
- 12.5 实例演练205
- 12.6 课后练习206
- 第13章 确保数据完整性的触发器207
- 13.1 有意思的触发器207
- 13.1.1 什么是触发器207
- 13.1.2 触发器的作用207
- 13.1.3 触发器的分类208
- 13.2 创建DML触发器208
- 13.2.1 INSERT触发器209
- 13.2.2 DELETE触发器211
- 13.2.3 UPDATE触发器212
- 13.2.4 替代触发器213
- 13.2.5 允许使用嵌套触发器213
- 13.2.6 递归触发器214
- 13.3 创建DDL触发器214
- 13.3.1 创建DDL触发器的语法214
- 13.3.2 创建数据库作用域的DDL触发器215
- 13.3.3 创建服务器作用域的DDL触发器215
- 13.4 管理触发器216
- 13.4.1 查看触发器216
- 13.4.2 修改触发器217
- 13.4.3 删除触发器218
- 13.4.4 使用SQL Server Management Studio管理触发器218
- 13.4.5 启用和禁用触发器219
- 13.5 实例演练219
- 13.6 课后练习221
- 第14章 认识与数据安全相关的对象222
- 14.1 什么是安全对象222
- 14.2 登录账号管理223
- 14.2.1 创建登录账号223
- 14.2.2 修改登录账号224
- 14.2.3 删除登录账号226
- 14.3 用户管理226
- 14.4 角色管理228
- 14.4.1 固定服务器角色228
- 14.4.2 数据库角色231
- 14.4.3 自定义数据库角色232
- 14.4.4 应用程序角色232
- 14.4.5 将登录指派到角色233
- 14.4.6 将角色指派到多个登录账户233
- 14.5 权限管理233
- 14.5.1 授予权限234
- 14.5.2 撤销权限235
- 14.5.3 拒绝权限235
- 14.6 实例演练236
- 14.7 课后练习237
- 第15章 数据库的备份和还原238
- 15.1 备份和还原概述238
- 15.1.1 备份的类型238
- 15.1.2 还原模式239
- 15.1.3 配置还原模式240
- 15.2 备份设备240
- 15.2.1 备份设备的类型240
- 15.2.2 创建备份设备241
- 15.2.3 查看备份设备242
- 15.2.4 删除备份设备242
- 15.3 数据库备份243
- 15.3.1 完整备份243
- 15.3.2 差异备份245
- 15.3.3 文件和文件组备份245
- 15.3.4 事务日志备份245
- 15.4 还原数据库246
- 15.4.1 还原数据库的方式246
- 15.4.2 还原数据库备份246
- 15.4.3 还原文件和文件组备份249
- 15.5 数据库的分离和附加249
- 15.6 课后练习249
- 第16章 系统自动化任务管理250
- 16.1 SQL Server代理250
- 16.2 作业252
- 16.3 维护计划254
- 16.4 警报260
- 16.5 操作员260
- 16.6 课后练习260