图书目录

目  录

第1篇 SQL语言入门

第1章  SQL语言基础 2

 视频讲解:28分钟

1.1  SQL语言概述 2

1.1.1  SQL概述 2

1.1.2  SQL语言的组成 3

1.1.3  SQL语句结构 4

1.1.4  SQL语句分类 5

1.2  数据类型 5

1.2.1  整数数据类型 5

1.2.2  浮点数据类型 6

1.2.3  字符数据类型 7

1.2.4  日期和时间数据类型 8

1.2.5  货币数据类型 9

1.2.6  二进制数据类型 9

1.2.7  文本和图像数据类型 9

1.2.8  用户自定义数据类型 10

1.3  常量 11

1.3.1  数值常量 11

1.3.2  字符串常量 12

1.3.3  日期和时间常量 12

1.4  变量 12

1.4.1  局部变量 12

1.4.2  全局变量 14

1.5  运算符 16

1.5.1  算术运算符 16

1.5.2  赋值运算符 17

1.5.3  逻辑运算符 18

1.6  实践与练习 19

第2章  SQL查询基础 20

 视频讲解:48分钟

2.1  简单查询 20

2.1.1  SELECT语句基本结构 21

2.1.2  单列查询 21

2.1.3  多列查询 22

2.1.4  查询所有的列 22

2.1.5  别名的应用 23

2.1.6  使用TOP查询前若干行 25

2.1.7  删除重复列 26

2.2  计算列查询 28

2.2.1  连接列值 28

2.2.2  查询中使用计算列 28

2.2.3  查询中使用表达式 29

2.3  条件查询 30

2.3.1  WHERE子句 31

2.3.2  使用“=”查询数据 31

2.3.3  使用“>”查询数据 31

2.3.4  使用“<”查询数据 32

2.3.5  使用“>=”查询数据 32

2.3.6  使用“<=”查询数据 33

2.3.7  使用“!>”查询数据 33

2.3.8  使用“!<”查询数据 33

2.3.9  使用“!=”和“<>”查询数据 34

2.4  范围查询 34

2.4.1  查询两数之间的数据 35

2.4.2  查询两个日期之间的数据 35

2.4.3  在BETWEEN中使用日期函数 35

2.4.4  查询不在两数之间的数据 36

2.5  逻辑查询 37

2.5.1  使用AND运算符 37

2.5.2  使用OR运算符 37

2.5.3  使用NOT运算符 38

2.5.4  使用OR、AND和NOT运算符 39

2.6  实践与练习 39

第3章  复杂查询 40

 视频讲解:73分钟

3.1  模糊查询 40

3.1.1  LIKE谓词 40

3.1.2  “%”通配符的使用 41

3.1.3  “_”通配符的使用 42

3.1.4  “[ ]”通配符的使用 42

3.1.5  “[^]”通配符的使用 43

3.1.6  ESCAPE转义字符 44

3.2  IN运算符 44

3.2.1  使用IN查询数据 45

3.2.2  在IN中使用算术表达式 45

3.2.3  在IN中使用列名 46

3.2.4  使用NOT IN查询数据 46

3.2.5  使用TOP和NOT IN查询数据 47

3.3  行查询 48

3.3.1  随机查询 48

3.3.2  结果集中添加行号 48

3.3.3  隔行查询 49

3.3.4  分页查询 50

3.4  空值判断 51

3.4.1  查询空值 51

3.4.2  查询非空值 52

3.4.3  对空值进行处理 52

3.5  对结果集操作 53

3.5.1  利用结果集创建永久表 53

3.5.2  利用结果集创建临时表 54

3.6  复杂条件查询 54

3.6.1  查询表中的第n行数据 54

3.6.2  查询考试成绩最高的分数 55

3.6.3  查询各部门人数 56

3.6.4  查询各部门基本工资最低的员工 56

3.7  实践与练习 57

第4章  数据排序 58

 视频讲解:63分钟

4.1  数值数据排序 58

4.1.1  按升序和降序排列 58

4.1.2  按列别名排序 60

4.1.3  在ORDER BY子句中使用表达式 61

4.1.4  按空值排序 61

4.1.5  对多列排序 64

4.1.6  对数据表中的指定行数进行排序 65

4.2  字符串排序 68

4.2.1  按字符串中的子串排序 68

4.2.2  按字符串中的数值排序 71

4.3  汉字排序 72

4.3.1  汉字排序规则简介 72

4.3.2  按笔画排序 73

4.3.3  按拼音排序 73

4.4  按列的编号排序 74

4.5  随机排序 75

4.6  实践与练习 75

第5章  SQL函数的使用 76

 视频讲解:59分钟

5.1  聚合函数 76

5.1.1  聚合函数概述 76

5.1.2  SUM(求和)函数 77

5.1.3  AVG(平均值)函数 77

5.1.4  MAX(最大值)函数和MIN(最小值)

      函数 78

5.1.5  COUNT(统计)函数 80

5.1.6  DISTINCT(取不重复记录)函数 80

5.2  数学函数 81

5.2.1  数学函数概述 81

5.2.2  ABS(绝对值)函数 82

5.2.3  PI(圆周率)函数 82

5.2.4  POWER(乘方)函数 82

5.2.5  RAND(随机浮点数)函数 83

5.2.6  ROUND(四舍五入)函数 83

5.2.7  SQUARE(平方)函数和SQRT(平

方根)函数 84

5.2.8  三角函数 85

5.3  字符串函数 86

5.3.1  字符串函数概述 87

5.3.2  ASCII(获取ASCII码)函数 87

5.3.3  CHARINDEX(返回字符串的起始

      位置)函数 89

5.3.4  LEFT(取左边指定个数的字符)函数 89

5.3.5  RIGHT(取右边指定个数的字符)函数 90

5.3.6  LEN(返回字符个数)函数 91

5.3.7  REPLACE(替换字符串)函数 91

5.3.8  REVERSE(反转字符串)函数 92

5.3.9  STR函数 92

5.3.10  SUBSTRING(取字符串)函数 93

5.4  日期和时间函数 94

5.4.1  日期和时间函数概述 94

5.4.2  GETDATE(返回当前系统日期和

      时间)函数 94

5.4.3  DAY(返回指定日期的天)函数 94

5.4.4  MONTH(返回指定日期的月)函数 95

5.4.5  YEAR(返回指定日期的年)函数 95

5.4.6  DATEDIFF(返回两个日期之间的

      间隔)函数 96

5.4.7  DATEADD(添加日期时间)函数 97

5.5  实践与练习 98

第2篇 SQL语言进阶

第6章  分组统计 100

 视频讲解:6分钟

6.1  GROUP BY子句 100

6.1.1  使用GROUP BY子句创建分组 100

6.1.2  使用GROUP BY子句创建多列分组 101

6.1.3  对表达式进行分组统计 102

6.1.4  在SQL查询语句中GROUP BY子句的

      NULL值处理 103

6.1.5  对统计结果排序 103

6.1.6  在WHERE子句中使用GROUP BY

子句 104

6.1.7  GROUP BY子句的特殊用法 105

6.2  HAVING子句 105

6.3  实践与练习 107

第7章  子查询 108

 视频讲解:70分钟

7.1  简单子查询 108

7.1.1  SELECT 列表中的子查询 109

7.1.2  多列子查询 110

7.1.3  比较子查询 111

7.1.4  在子查询中使用聚合函数 112

7.2  多行子查询 112

7.2.1  使用IN操作符的多行子查询 112

7.2.2  使用NOT IN子查询实现差集运算 113

7.2.3  通过量词实现多行子查询 114

7.2.4  使用ALL操作符的多行子查询 115

7.2.5  使用ANY/SOME操作符的多行子查询 115

7.2.6  FROM子句中的子查询 116

7.3  相关子查询 116

7.3.1  使用IN引入相关子查询 117

7.3.2  使用NOT IN引入相关子查询 117

7.3.3  在HAVING子句中使用相关子查询 118

7.4  嵌套子查询 119

7.4.1  简单的嵌套子查询 119

7.4.2  复杂的嵌套查询 120

7.4.3  在UPDATE中使用子查询 121

7.4.4  在INSERT中使用子查询 122

7.4.5  在DELETE中使用子查询 123

7.5  实践与练习 123

第8章  多表查询 124

 视频讲解:43分钟

8.1  多表连接 124

8.1.1  笛卡儿乘积 124

8.1.2  通过WHERE子句连接多表 126

8.1.3  通过FROM子句连接多表 126

8.1.4  在多表连接中设置连接条件 127

8.1.5  在多表连接中返回某个表的所有列 127

8.1.6  通过设置表别名提高SQL可读性 128

8.2  内连接 129

8.2.1  等值连接 129

8.2.2  不等值连接 129

8.2.3  自然连接 130

8.2.4  复杂的内连接查询 130

8.3  外连接 131

8.3.1  左外连接 131

8.3.2  右外连接 132

8.3.3  全外连接 132

8.3.4  通过外连接进行多表联合查询 133

8.4  其他连接 134

8.4.1  自连接 134

8.4.2  交叉连接 134

8.5  实践与练习 135

第9章  添加数据 136

 视频讲解:39分钟

9.1  插入单行记录 136

9.1.1  INSERT语句基本语法 137

9.1.2  插入整行数据 137

9.1.3  插入NULL值 138

9.1.4  插入唯一值 138

9.1.5  插入特定字段数据 139

9.1.6  插入默认值 140

9.1.7  插入日期数据 141

9.1.8  通过视图插入行 141

9.1.9  向表中插入记录时任意指定的不同的

      字段顺序 142

9.1.10  插入的数据类型值与实际中的数据类型

       不匹配时,系统将输出 错误提示 143

9.1.11  向表中插入字段的个数少于表中实际

       字段的个数,有时会出错 143

9.2  插入多行记录 144

9.2.1  插入多行记录的语法格式 144

9.2.2  使用VALUES关键字插入多行数据 144

9.2.3  使用SELECT语句插入数据 145

9.3  表中数据的复制 146

9.3.1  基本语法 146

9.3.2  表中数据的复制应用 146

9.4  实践与练习 147

第10章  修改和删除数据 148

 视频讲解:64分钟

10.1  UPDATE语句的基本语法 148

10.2  使用UPDATE语句更新列值 150

10.3  利用子查询更新行中的值 151

10.3.1  语法格式 151

10.3.2  利用子查询返回的行数不多于一行

      (只返回一个值) 152

10.3.3  利用子查询返回多行(返回多个值) 153

10.3.4  利用内连接查询来更新数据表中的信息 153

10.4  依据外表值更新数据 154

10.5  分步更新表中的数据 155

10.6  修改指定字段的数据值 156

10.6.1  修改指定datetime类型字段内的

       数据 156

10.6.2  修改指定int类型字段内的数据 156

10.6.3  修改指定varchar类型字段内的数据 157

10.6.4  修改指定float类型字段内的数据 157

10.7  使用DELETE语句删除数据 158

10.7.1  使用DELETE语句删除所有数据

      (省略WHERE子句) 158

10.7.2  使用DELETE语句删除多行数据 159

10.7.3  使用DELETE语句删除单行数据

      (WHERE子句不能省) 159

10.8  删除重复行 160

10.8.1  删除完全重复行 160

10.8.2  删除部分重复行 161

10.9  使用TRUNCATE TABLE语句

删除数据 162

10.10  使用DELETE语句中带有的TOP

       子句 162

10.11  实践与练习 163

第3篇 SQL高级应用

第11章  视图 166

 视频讲解:14分钟

11.1  视图概述 166

11.2  视图创建 167

11.3  视图重命名 169

11.4  视图修改 169

11.5  视图定义信息查询 171

11.6  视图删除 172

11.7  实践与练习 173

第12章  存储过程 174

 视频讲解:27分钟

12.1  存储过程概述 174

12.1.1  存储过程的概念 174

12.1.2  存储过程的作用和功能 175

12.1.3  存储过程的优点 176

12.2  创建存储过程 177

12.2.1  CREATE PROCEDURE语句 177

12.2.2  创建具有回传参数的存储过程 178

12.2.3  使用RETURN语句从存储过程中

       返回值 180

12.3  管理存储过程 181

12.3.1  执行存储过程 182

12.3.2  执行具有回传参数的存储过程 183

12.3.3  查看存储过程 184

12.3.4  修改存储过程 185

12.3.5  删除存储过程 186

12.3.6  存储过程的重新编译 187

12.4  实践与练习 188

第13章  触发器 189

 视频讲解:31分钟

13.1  触发器概述 189

13.1.1  触发器的概念 189

13.1.2  触发器的优点 189

13.1.3  触发器的种类 190

13.2  创建触发器 191

13.2.1  创建简单的触发器 191

13.2.2  创建具有触发条件的触发器 195

13.2.3  创建INSTEAD OF触发器 197

13.2.4  创建列级触发器 199

13.3  管理触发器 201

13.3.1  查看触发器 201

13.3.2  修改触发器 201

13.3.3  重命名触发器 202

13.3.4  禁用和启用触发器 203

13.3.5  删除触发器 204

13.4  应用触发器 204

13.4.1  应用触发器添加数据 204

13.4.2  应用触发器修改数据 205

13.4.3  应用触发器删除数据 207

13.5  实践与练习 207

第14章  游标 208

 视频讲解:59分钟

14.1  游标概述 208

14.1.1  游标的实现 209

14.1.2  游标的类型 209

14.2  创建游标 210

14.2.1  声明游标 210

14.2.2  打开游标 211

14.2.3  读取游标中数据 212

14.2.4  嵌套游标 213

14.2.5  关闭并释放游标 214

14.3  游标属性 216

14.3.1  获取游标状态 216

14.3.2  获取游标行数 217

14.4  游标操作 218

14.4.1  基于游标定位修改数据 218

14.4.2  基于游标定位删除数据 220

14.4.3  在游标中包含计算列 220

14.4.4  将游标中的数据进行排序显示 221

14.5  动态游标 222

14.5.1  声明游标变量 222

14.5.2  使用游标变量 223

14.6  实践与练习 223

第15章  索引 224

 视频讲解:23分钟

15.1  索引概述 224

15.1.1  索引的基本概念 224

15.1.2  索引的分类 226

15.1.3  创建索引的原则 226

15.2  创建索引 227

15.2.1  创建简单的非簇索引 227

15.2.2  创建多字段非簇索引 229

15.2.3  创建唯一索引 230

15.2.4  创建簇索引 231

15.3  维护索引 232

15.3.1  查看是否需要维护索引 232

15.3.2  重构索引 233

15.3.3  整理索引碎片 234

15.3.4  删除索引 235

15.4  实践与练习 236

第16章  事务 237

 视频讲解:26分钟

16.1  事务的概念 237

16.2  显式事务与隐式事务 238

16.2.1  显式事务 239

16.2.2  隐式事务 240

16.2.3  API中控制隐式事务 240

16.2.4  事务的COMMIT和ROLLBACK 241

16.3  使用事务 241

16.3.1  开始事务 241

16.3.2  结束事务 242

16.3.3  回滚事务 242

16.3.4  事务的工作机制 243

16.3.5  自动提交事务 244

16.3.6  事务的并发问题 244

16.3.7  事务的隔离级别 245

16.4  锁 248

16.4.1  锁机制 248

16.4.2  锁模式 248

16.4.3  锁的粒度 250

16.4.4  查看锁 251

16.4.5  死锁 251

16.5  实践与练习 252

第17章  管理数据库与数据表 253

 视频讲解:19分钟

17.1  数据库管理 253

17.1.1  创建数据库 253

17.1.2  修改数据库 256

17.1.3  删除数据库 259

17.2  数据表管理 260

17.2.1  创建数据表 260

17.2.2  查看数据表 265

17.2.3  修改数据表 267

17.2.4  删除数据表 271

17.3  实践与练习 272

第18章  数据库安全 273

 视频讲解:30分钟

18.1  数据库安全概述 273

18.2  数据库登录管理 273

18.2.1  选择验证模式 274

18.2.2  管理登录账号 274

18.2.3  更改登录验证方式 279

18.2.4  设置密码 280

18.3  权限管理 281

18.4  实践与练习 282

附录A  安装SQL Server数据库 283

附录B  安装Oracle数据库 293

附录C  安装MySQL数据库 296