内容简介
第1章 结构化查询语言
1.1 SQL概述
1.1.1 SQL和SQL标准简史
1.1.2 SQL的功能和特性
1.1.3 SQL语句的结构
1.1.4 SQL的未来
1.2 常量
1.2.1 数字常量
1.2.2 字符串常量
1.2.3 时间和日期常量
1.2.4 符号常量
1.3 数据类型
1.3.1 数字数据类型
1.3.2 字符串数据类型
1.3.3 日期时间数据类型
1.4 SQL表达式
1.5 SQL控制语句
1.5.1 语句的分类
1.5.2 语句的规则
1.6 丢失数据
1.7 上机实验
1.7.1 实验内容
1.7.2 实验指导
1.8 练习题
1.9 习题答案
第2章 SQL函数
2.1 聚合函数
2.1.1 COUNT()函数
2.1.2 SUM()与AVG()函数
2.1.3 MAX()与MIN()函数
2.2 字符串函数
2.3 日期时间函数
2.4 数学函数
2.5 转换函数
2.5.1 CONVERT()函数
2.5.2 TO_CHAR()函数
2.5.3 TO_NUMBER()函数
2.6 上机实验
2.6.1 实验内容
2.6.2 实验指导
2.7 练习题
2.8 习题答案
第3章 创建和维护数据库与表
3.1 SQL数据库概述
3.2 创建数据库
3.3 创建表
3.4 名称
3.4.1 表名和列名
3.4.2 别名
3.5 管理数据库
3.5.1 修改数据库
3.5.2 删除数据库
3.5.3 修改数据表
3.5.4 删除数据表
3.6 规则和默认
3.7 约束
3.7.1 CHECK约束
3.7.2 UNIQUE约束
3.7.3 NOT NULL约束
3.7.4 PRIMARY KEY约束
3.7.5 禁用约束
3.7.6 删除约束
3.8 索引
3.8.1 创建索引
3.8.2 索引的分类
3.8.3 查看索引信息
3.8.4 删除索引
3.9 上机实验
3.9.1 实验内容
3.9.2 实验指导
3.10 练习题
3.11 习题答案
第4章 简单查询
4.1 SELECT语句概述
4.2 使用SELECT子句查询数据
4.2.1 查询所有的列
4.2.2 查询指定的列
4.2.3 查询中使用数字和表达式
4.2.4 查询中使用别名
4.2.5 查询列中使用distinct关键字
4.2.6 查询中使用函数
4.3 使用FROM子句指定要检索的表
4.4 使用WHERE子句进行过滤
4.4.1 比较运算符
4.4.2 逻辑运算符
4.4.3 BETWEEN子句
4.4.4 IN子句
4.4.5 LIKE子句
4.4.6 空值的处理
4.5 上机实验
4.5.1 实验内容
4.5.2 实验指导
4.6 练习题
4.7 习题答案
第5章 数据排序与数据分组
5.1 数据排序
5.1.1 ORDER BY语法格式
5.1.2 升序排序和降序排序
5.1.3 使用表达式排序
5.1.4 多级排序
5.1.5 排序中的空值
5.2 数据分组
5.2.1 GROUP BY子句
5.2.2 带有WHERE子句的GROUP BY
5.2.3 多次分组
5.2.4 GROUP BY和ORDER BY
5.2.5 HAVING子句
5.3 上机实验
5.3.1 实验内容
5.3.2 实验指导
5.4 练习题
5.5 习题答案
第6章 连接查询
6.1 使用连接的原因
6.2 连接语法
6.2.1 传统的连接语法
6.2.2 SQL连接语法
6.3 连接的处理
6.3.1 笛卡尔积
6.3.2 连接中运算符的使用
6.3.3 多表连接
6.3.4 连接结果的处理
6.4 自连接
6.5 内连接
6.5.1 内连接的分类
6.5.2 等值连接
6.5.3 不等连接
6.5.4 自然连接
6.6 外连接
6.6.1 外连接的分类
6.6.2 左外连接(LEFT JOIN)
6.6.3 右外连接(RIGHT JOIN)
6.6.4 全外连接(FULL JOIN)
6.7 复合连接
6.8 交叉连接
6.9 联合查询
6.9.1 UNION运算
6.9.2 INTERSECT运算
6.9.3 MINUS运算
6.10 上机实验
6.10.1 实验内容
6.10.2 实验指导
6.11 练习题
6.12 习题答案
第7章 子查询
7.1 子查询概述
7.2 相关子查询
7.3 子查询规则
7.4 单行子查询
7.4.1 比较子查询
7.4.2 聚合函数和子查询
7.4.3 单行子查询中的GROUP BY和HAVING子句
7.5 多行子查询
7.5.1 IN的使用
7.5.2 NOT IN的使用
7.5.3 ANY的使用
7.5.4 ALL的使用
7.5.5 交集和差集的查询:EXISTS
7.5.6 NOT EXISTS的使用
7.6 子查询的嵌套
7.6.1 嵌套子查询
7.6.2 在HAVING中使用子查询
7.6.3 在UPDATE中使用子查询
7.6.4 在INSERT中使用子查询
7.6.5 在DELETE中使用子查询
7.7 上机实验
7.7.1 实验内容
7.7.2 实验指导
7.8 练习题
7.9 习题答案
第8章 数据处理
8.1 数据操纵语言概述
8.2 插入数据
8.2.1 使用INSERT...VALUES语句插入数据
8.2.2 使用INSERT...SELECT语句插入数据
8.3 更新数据
8.3.1 指定更新的列和新值
8.3.2 嵌套更新
8.4 删除数据
8.5 其他用于处理数据的SQL语句
8.5.1 MERGE语句
8.5.2 TRUNCATE语句
8.6 上机实验
8.6.1 实验内容
8.6.2 实验指导
8.7 练习题
8.8 习题答案
第9章 视图
9.1 视图概述
9.2 使用视图的原因
9.3 视图的优点和缺点
9.4 视图的处理
9.5 创建视图
9.5.1 创建简单视图
9.5.2 视图中使用列的别名
9.5.3 视图中使用连接
9.5.4 视图中使用子查询
9.6 更改视图
9.7 删除视图
9.8 通过视图管理数据
9.8.1 通过视图查询数据
9.8.2 通过视图插入数据
9.8.3 通过视图删除数据
9.8.4 通过视图更新数据
9.9 查询视图信息
9.10 上机实验
9.10.1 实验内容
9.10.2 实验指导
9.11 练习题
9.12 习题答案
第10章 事务
10.1 事务概述
10.1.1 并发控制
10.1.2 数据库恢复
10.2 事务隔离级别
10.3 事务处理命令
10.4 设置事务属性
10.5 开始事务
10.6 在事务中使用保存点
10.7 提交事务
10.8 撤消事务
10.9 锁
10.9.1 锁的分类
10.9.2 关于锁的其他信息
10.9.3 死锁处理
10.10 上机实验
10.10.1 实验内容
10.10.2 实验指导
10.11 练习题
10.12 习题答案
第11章 SQL触发器和SQL游标
11.1 了解SQL触发器和游标
11.2 创建和删除SQL触发器
11.2.1 创建SQL触发器
11.2.2 删除SQL触发器
11.2.3 更改触发器
11.3 创建INSERT触发器
11.4 创建Update触发器
11.5 创建Delete触发器
11.6 触发器的启用和禁用
11.7 声明游标
11.7.1 SQL-92语法组成
11.7.2 游标声明
11.8 打开和关闭游标
11.8.1 打开游标
11.8.2 关闭游标
11.9 删除游标
11.10 应用游标
11.11 使用游标更新和删除
11.11.1 使用游标更新
11.11.2 使用游标删除
11.12 上机实验
11.12.1 实验内容
11.12.2 实验指导
11.13 练习题
11.14 习题答案
第12章 数据库的安全与性能
12.1 理解SQL安全性
12.1.1 用户
12.1.2 数据库元素
12.1.3 权限
12.2 授予和撤消权限
12.2.1 授予权限
12.2.2 撤消权限
12.3.3 禁止授权
12.3 视图与SQL安全
12.4 数据库性能
12.4.1 影响数据库性能的因素
12.4.2 基准测试
12.4.3 提高性能的工具
12.5 提高SQL语句的可读性
12.6 在表上创建索引以提高性能
12.7 优化查询
12.7.1 查询优化器
12.7.2 编写高性能的SQL语句
12.7.3 提高系统性能的方法
12.8 存储过程
12.8.1 创建存储过程
12.8.2 执行存储过程
12.8.3 删除存储过程
12.9 上机实验
12.9.1 实验内容
12.9.2 实验指导
12.10 练习题
12.11 习题答案