目录
第1章SQL基础入门
1.1SQL概述
1.2Oracle
1.2.1Oracle的组成及特点
1.2.2Oracle的体系结构
1.2.3SQL*Plus简介
1.3SQL Server
1.3.1SQL Server的结构
1.3.2数据库访问接口
1.3.3查询分析器
1.4PL/SQL
1.4.1PL/SQL简介
1.4.2PL/SQL的程序结构
1.4.3PL/SQL的定义
1.4.4PL/SQL的条件结构
1.4.5PL/SQL的循环结构
1.5TSQL
1.5.1TSQL概述
1.5.2TSQL的组成
1.6TSQL的流程控制
1.6.1IF…ELSE
1.6.2BEGIN…END
1.6.3CASE
1.6.4WHILE…CONTINUE…BREAK
1.6.5WAITFOR
1.6.6GOTO
1.6.7RETURN
1.7小结
第2章SQL语言语法
2.1字符串类型
2.1.1CHAR和VARCHAR
2.1.2BIT和VARBIT
2.2数值型类型
2.2.1NUMERIC
2.2.2DECIMAL
2.2.3INTEGER和SMALLINT
2.2.4FLOAT、REAL和DOUBLE PRECISION
2.3日期时间型类型
2.3.1DATA
2.3.2TIME
2.3.3TIMESTAMP
2.3.4INTERVAL
2.3.5常用数据类型应用
2.4表达式
2.5运算符
2.5.1比较运算符
2.5.2算术运算符
2.5.3逻辑运算符
2.5.4通配符
2.6小结
第3章查询语句
3.1SELECT语句
3.1.1SELECT语句结构
3.1.2SELECT语句执行过程
3.2列查询
3.2.1SELECT子句
3.2.2单列查询
3.2.3多列查询
3.2.4对数据列进行算术运算
3.2.5为数据列指定别名
3.2.6查询所有列
3.2.7使用DISTINCT关键字
3.2.8使用TOP关键字
3.3INTO子句
3.4FROM子句
3.4.1FROM子句语法
3.4.2表的别名
3.5小结
第4章复合查询
4.1WHERE子句
4.1.1数据示例表
4.1.2单条件查询
4.1.3空值运算符
4.1.4范围运算符
4.1.5列表运算符
4.2条件查询
4.2.1使用逻辑运算符组合条件
4.2.2复合条件查询
4.3GROUP BY子句
4.3.1用GROUP BY子句创建分组
4.3.2用CUBE运算符汇总数据
4.3.3用ROLLUP运算符汇总数据
4.3.4用GROUPING函数处理NULL值
4.4HAVING子句
4.5ORDER BY子句
4.5.1单列排序
4.5.2逆序排列
4.5.3多列排序
4.5.4单表查询各子语句总结
4.6多表查询
4.6.1无条件多表查询
4.6.2等值多表查询
4.6.3非等值多表查询
4.7模糊查询
4.7.1LIKE运算符
4.7.2通配符
4.7.3ESCAPE子句和转义符
4.7.4实现模糊查询
4.8小结
第5章连接查询
5.1表的基本连接
5.1.1表的连接概述
5.1.2连接运算符
5.1.3示例数据表
5.1.4表的连接类型
5.2内连接
5.2.1等值连接
5.2.2自然连接
5.2.3不等连接
5.2.4自连接
5.2.5多表连接
5.3外连接
5.3.1左外连接
5.3.2右外连接
5.3.3全外连接
5.4交叉连接
5.5联合查询
5.5.1UNION运算符
5.5.2UNION运算结果排序
5.5.3UNION ALL与UNION
5.5.4对多表进行UNION运算
5.5.5联合查询注意事项
5.6SQL查询原理及注意问题
5.7小结
第6章子查询
6.1子查询概述
6.1.1子查询结构及其执行过程
6.1.2示例数据表
6.2单值比较子查询
6.2.1含有WHERE子句的单值比较子查询
6.2.2含有聚合函数的子查询
6.2.3在多表查询中使用单值比较子查询
6.3返回多行的子查询
6.3.1IN子查询
6.3.2在多表查询中使用IN子查询
6.3.3EXISTS子查询
6.3.4EXISTS子查询典型应用
6.3.5EXISTS子查询注意事项
6.4带有ANY或ALL谓词的子查询
6.4.1带有ANY谓词的子查询
6.4.2带有ALL谓词的子查询
6.5相关子查询
6.5.1比较运算符引入相关子查询
6.5.2含有聚合函数的相关子查询
6.5.3谓词IN引入相关子查询
6.5.4HAVING子句中使用相关子查询
6.6嵌套子查询
6.7小结
第7章SQL函数
7.1汇总函数
7.1.1数据表实例
7.1.2COUNT
7.1.3SUM
7.1.4AVG
7.1.5MAX
7.1.6MIN
7.2日期/时间函数
7.2.1GETDATE
7.2.2DATEDIFF
7.2.3DATEADD
7.2.4DATEPART
7.3数学函数
7.4字符串函数
7.4.1字符转换函数
7.4.2字符串操作函数
7.5转换函数
7.6小结
第8章操作表结构
8.1表的基本结构
8.2定义表结构
8.2.1创建基本表
8.2.2PRIMARY KEY约束
8.2.3NOT NULL约束
8.2.4UNIQUE约束
8.2.5FOREIGN KEY约束
8.2.6DEFAULT约束
8.2.7CHECK约束
8.3表结构的修改
8.3.1增加新字段
8.3.2修改字段
8.3.3删除字段
8.4表的删除及重命名
8.4.1表的删除
8.4.2表的重命名
8.5数据库的操作
8.5.1创建数据库
8.5.2删除数据库
8.6小结
第9章视图和索引的操作
9.1索引概述
9.1.1索引的概念
9.1.2索引的类型
9.2索引的创建
9.2.1示例数据表
9.2.2创建索引基本语法
9.2.3创建聚簇索引
9.2.4创建唯一索引
9.2.5创建单字段非聚簇索引
9.2.6创建多字段非聚簇索引
9.3删除索引
9.4索引的使用原则
9.4.1正确建立索引
9.4.2选择索引类型
9.5视图概述
9.5.1视图的概念
9.5.2视图的优缺点
9.6视图的创建
9.6.1创建视图基本语法
9.6.2创建简单视图
9.6.3创建复杂视图
9.6.4创建基于视图的视图
9.6.5创建视图的注意事项
9.7视图的删除
9.8小结
第10章数据插入操作
10.1数据插入语句
10.1.1示例数据表
10.1.2插入语句基本语法
10.2单行插入操作
10.2.1不指定字段的整行插入
10.2.2指定字段的整行插入
10.2.3空值的插入
10.2.4唯一值的插入
10.2.5通过视图插入行
10.3多行插入操作
10.3.1使用INSERT VALUES语句进行多行插入
10.3.2使用INSERT SELECT语句进行多行插入
10.4数据的复制
10.5小结
第11章数据更新和删除
11.1数据更新基本语法
11.1.1UPDATE基本语法
11.1.2示例数据表
11.2更新单个字段值
11.2.1更新数据为外部输入
11.2.2更新数据为内部函数
11.2.3更新数据为空值
11.2.4更新数据为字段本身运算值
11.2.5更新数据为本表字段值
11.2.6更新数据为外表字段值
11.2.7更新多记录的单个字段值
11.3更新多个字段值
11.3.1更新单记录的多个字段值
11.3.2更新多记录的多个字段值
11.4数据删除
11.4.1数据删除语句基本语法
11.4.2删除单行数据
11.4.3删除多行数据
11.4.4删除所有行
11.5通过视图更新表
11.5.1通过视图更新表数据
11.5.2通过视图删除表数据
11.5.3使用视图更新删除数据的注意事项
11.6小结
第12章数据控制
12.1数据库安全模式
12.1.1用户
12.1.2数据库对象
12.1.3权限
12.2数据控制语句
12.2.1GRANT语句
12.2.2REVOKE语句
12.3角色管理
12.3.1创建角色
12.3.2删除角色
12.4SQL Server的数据安全控制
12.4.1SQL Server的身份验证
12.4.2SQL Server的用户管理
12.4.3SQL Server的角色管理
12.4.4SQL Server的权限管理
12.5Oracle的数据安全控制
12.5.1Oracle的用户管理
12.5.2Oracle的权限管理
12.5.3Oracle的角色管理
12.6小结
第13章完整性控制
13.1数据完整性
13.1.1示例数据表
13.1.2完整性的引入
13.1.3完整性的分类
13.2实体完整性
13.2.1PRIMARY KEY约束
13.2.2NOT NULL约束
13.2.3UNIQUE约束
13.3参照完整性
13.3.1参照完整性概述
13.3.2FOREIGN KEY约束
13.4用户自定义的完整性
13.4.1DEFAULT约束
13.4.2CHECK约束
13.5规则
13.5.1删除规则
13.5.2更新规则
13.5.3MATCH子句
13.6SQL Server中的完整性控制
13.6.1创建规则
13.6.2规则的绑定
13.6.3规则的松绑与删除
13.6.4创建默认值
13.6.5默认值的绑定与松绑
13.6.6默认值的松绑和删除
13.7Oracle的数据完整性的实现
13.7.1Oracle中的实体完整性
13.7.2Oracle中的参照完整性
13.7.3Oracle中的用户自定义完整性
13.8小结
第14章存储过程
14.1存储过程的概念
14.1.1示例数据表
14.1.2存储过程概述
14.2SQL Server的流程控制语句
14.2.1顺序控制语句
14.2.2条件控制语句
14.2.3循环控制语句
14.3SQL Server的存储过程
14.3.1SQL Server的存储过程概述
14.3.2系统存储过程
14.3.3存储过程创建及删除语法
14.3.4创建不带参数的存储过程
14.3.5创建带参数的存储过程
14.3.6创建带通配符参数的存储过程
14.3.7在企业管理器中操作存储过程
14.4Oracle的流程控制语句
14.4.1条件控制语句
14.4.2循环控制语句
14.5Oracle中的存储过程
14.5.1Oracle的存储过程结构
14.5.2创建存储过程
14.6小结
第15章触发器
15.1触发器基本概念
15.1.1触发器概述
15.1.2触发器原理
15.1.3示例数据表
15.2SQL Server中的触发器
15.2.1创建及删除触发器语法
15.2.2创建INSERT触发器
15.2.3创建UPDATE触发器
15.2.4创建DELETE触发器
15.2.5INSTEAD OF触发器
15.2.6嵌套触发器
15.2.7递归触发器
15.2.8用企业管理器管理触发器
15.2.9使用触发器的注意事项
15.3Oracle中的触发器
15.3.1Oracle触发器类型
15.3.2创建及删除Oracle触发器
15.4小结
第16章事务处理与并发控制
16.1SQL事务
16.1.1示例数据库
16.1.2事务的引入
16.1.3事务的原理
16.1.4事务的特性
16.1.5SQL的事务处理语句
16.2SQL Server中的事务处理语句
16.2.1事务开始
16.2.2设置回滚标记
16.2.3设置保存点
16.2.4提交事务
16.2.5回滚事务
16.3SQL Server中的事务处理模式
16.3.1自动提交事务
16.3.2显式事务
16.3.3隐式事务
16.3.4嵌套事务
16.4Oracle的事务处理
16.4.1COMMIT命令
16.4.2ROLLBACK命令
16.4.3SAVEPOINT命令
16.5并发控制
16.5.1并发的引入和解决
16.5.2事务的隔离级别
16.6SQL Server中的并发控制
16.6.1锁的粒度和类型
16.6.2SQL Server的隔离级别
16.6.3SET TRANSACTION语句
16.6.4阻塞与死锁
16.7Oracle的并发控制
16.7.1Oracle的隔离级别
16.7.2只读事务
16.8小结
第17章SQL游标
17.1游标的基本概念
17.1.1游标概述
17.1.2示例数据表
17.2SQL Server中的游标
17.2.1声明游标
17.2.2打开游标
17.2.3提取数据
17.2.4关闭游标
17.2.5释放游标
17.3SQL Server中游标的应用
17.3.1游标变量
17.3.2使用游标获取数据
17.3.3使用游标更新数据
17.3.4使用游标删除数据
17.4Oracle的游标
17.5小结