内容介绍
本书内容全面、结构清晰、查询方便,不仅全面地介绍了SQL语句,并且兼顾了其在SQL Server和Oracle数据库产品中的实现。全书共分为23章,通过实例全面、系统地讲解了SQL语言各方面的相关知识。
本书示例丰富、简单易学,适用于广大运用SQL编程的读者,尤其适合SQL的初学者,同时也是查询SQL知识点的参考书。
目录
- 第1篇 SQL入门篇
- 第1章 SQL语言的概述
- 1.1 认识SQL语言
- 1.1.1 什么是SQL语言
- 1.1.2 SQL的历史与发展
- 1.1.3 SQL的功能和优点
- 1.2 认识数据库
- 1.2.1 什么是数据库
- 1.2.2 数据库系统的结构
- 1.2.3 数据库系统的工作流程
- 1.2.4 常见的SQL数据库管理系统
- 1.3 数据模型
- 1.3.1 关系数据库模型
- 1.3.2 数据模型的构成
- 1.3.3 常见的数据模型
- 1.4 关系型数据库
- 1.4.1 关系型数据库的定义
- 1.4.2 关系型数据库与表
- 1.4.3 主键与外键
- 1.4.4 字段约束
- 1.4.5 数据的完整性
- 1.4.6 关系数据库设计原则
- 1.5 SQL开发环境
- 1.5.1 SQL环境介绍
- 1.5.2 SQL的层次结构
- 1.5.3 SQL环境中的对象
- 1.5.4 SQL环境中的程序系统
- 1.6 SQL语句基础
- 1.6.1 SQL常量
- 1.6.2 SQL表达式
- 1.6.3 SQL数据类型
- 1.6.4 注释符
- 1.6.5 批处理
- 1.6.6 SQL语句的执行
- 1.7 SQL语法知识
- 1.7.1 SQL语法结构
- 1.7.2 常用的SQL语句
- 1.8 小结
- 第2章 设计数据库
- 2.1 设计数据库基础
- 2.1.1 数据库设计定义
- 2.1.2 设计数据库的意义
- 2.1.3 进行数据库设计的方法
- 2.2 数据实体和联系
- 2.2.1 实体、属性与联系
- 2.2.2 一对一联系
- 2.2.3 一对多联系
- 2.2.4 多对多联系
- 2.3 规范化准则
- 2.3.1 范式
- 2.3.2 第一范式
- 2.3.3 第二范式
- 2.3.4 第三范式
- 2.3.5 第四范式
- 2.4 小结
- 第2篇 数据库管理篇
- 第3章 数据库的相关操作
- 3.1 创建数据库
- 3.1.1 SQL标准中创建数据库的语法
- 3.1.2 使用SQL语句创建数据库
- 3.2 删除数据库
- 3.2.1 SQL标准中删除数据库的语法
- 3.2.2 使用SQL语句删除数据库
- 3.3 修改数据库
- 3.3.1 修改数据库语法
- 3.3.2 使用SQL语句修改数据库
- 3.4 管理数据库
- 3.4.1 扩充与压缩数据库
- 3.4.2 导入与导出数据
- 3.4.3 数据库的备份与恢复
- 3.4.4 使用sp_helpdb查看数据库信息
- 3.5 小结
- 第4章 数据表的相关操作
- 4.1 SQL中的数据表
- 4.1.1 数据表的结构
- 4.1.2 数据表的种类
- 4.2 创建数据表
- 4.2.1 创建数据表的语句结构
- 4.2.2 创建基本表
- 4.2.3 非空约束
- 4.2.4 DEFAULT指定缺省值
- 4.3 修改数据表
- 4.3.1 修改数据表的语句结构
- 4.3.2 给数据表增添新列
- 4.3.3 修改数据表中的列
- 4.3.4 删除数据表中的列
- 4.4 数据表的删除
- 4.4.1 删除数据表的语句结构
- 4.4.2 使用SQL语句删除数据表
- 4.5 数据表的重命名
- 4.5.1 重命名数据表的语句
- 4.5.2 使用SQL语句重命名数据表
- 4.6 小结
- 第5章 索引与视图
- 5.1 索引的基础知识
- 5.1.1 索引的概念
- 5.1.2 索引的类型
- 5.1.3 索引的结构
- 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 使用SQL语句删除索引
- 5.4 视图的基础知识
- 5.4.1 视图概述
- 5.4.2 视图的优点与缺点
- 5.5 视图的基本操作
- 5.5.1 创建视图的基本语句结构
- 5.5.2 使用SQL语句创建视图
- 5.5.3 修改视图的语句结构
- 5.5.4 重命名视图的名称
- 5.5.5 使用SQL语句修改视图
- 5.5.6 删除视图的语句结构
- 5.5.7 使用SQL语句删除视图
- 5.6 视图的应用
- 5.6.1 利用视图简化表的复杂连接
- 5.6.2 利用视图简化复杂查询
- 5.7 小结
- 第3篇 SQL查询篇
- 第6章 简单的SELECT语句查询
- 6.1 查询的基本结构
- 6.1.1 了解SELECT语句
- 6.1.2 SELECT语句的语法格式
- 6.1.3 SELECT语句的执行步骤
- 6.2 简单的查询语句
- 6.2.1 查询表中指定的字段
- 6.2.2 查询所有的字段
- 6.2.3 使用DISTINCT去除重复信息
- 6.2.4 使用别名
- 6.3 排序与分组
- 6.3.1 升序排序与降序排序
- 6.3.2 多列字段排序
- 6.3.3 使用GROUP BY子句对查询结果进行分组
- 6.3.4 HAVING子句的应用
- 6.4 条件查询
- 6.4.1 WHERE单条件语句查询
- 6.4.2 运算符查询
- 6.4.3 BETWEEN运算符范围筛选
- 6.4.4 使用TOP子句
- 6.4.5 NULL的判断
- 6.5 模糊查询
- 6.5.1 使用LIKE运算符进行查询
- 6.5.2 使用“_”通配符进行查询
- 6.5.3 使用“%”通配符进行查询
- 6.5.4 使用“[]"通配符进行查询
- 6.5.5 使用“[^]"通配符进行查询
- 6.6 小结
- 第7章 运算符与表达式相关查询
- 7.1 逻辑运算符
- 7.1.1 逻辑与运算符
- 7.1.2 逻辑或运算符
- 7.1.3 逻辑运算符的组合使用
- 7.2 IN运算符
- 7.2.1 IN运算符的使用
- 7.2.2 NOT IN运算符的使用
- 7.3 NOT运算符与BETWEEN运算符
- 7.3.1 NOT运算符的使用
- 7.3.2 NOT运算符与BETWEEN运算符的组合应用
- 7.4 数学运算符
- 7.4.1 数学运算符的种类
- 7.4.2 数学运算符的应用
- 7.5 集合查询运算符
- 7.5.1 UNION运算符
- 7.5.2 INTERSECT运算符
- 7.6 运算符的组合应用
- 7.6.1 逻辑运算符与IN运算符的组合应用
- 7.6.2 逻辑运算符与NOT运算符的组合应用
- 7.6.3 逻辑运算符与数学运算符的组合应用
- 7.6.4 逻辑运算符与集合运算符的组合应用
- 7.6.5 数学运算符与NOT运算符的组合应用
- 7.6.6 数学运算符与IN运算符的组合应用
- 7.6.7 数学运算符与集合运算符的组合应用
- 7.7 SQL中的表达式
- 7.7.1 CAST表达式的应用
- 7.7.2 CASE表达式的应用
- 7.8 小结
- 第8章 SQL函数
- 8.1 SQL函数基础
- 8.1.1 SQL语句函数
- 8.1.2 常用的SQL语句函数
- 8.2 日期函数和数学运算函数
- 8.2.1 日期时间函数
- 8.2.2 CONVERT函数转换日期、时间
- 8.2.3 数据运算函数
- 8.3 字符串函数
- 8.3.1 字符串处理函数介绍
- 8.3.2 字符转换函数
- 8.3.3 去字符串空格函数
- 8.3.4 取字符串长度的函数
- 8.3.5 查询包含部分字符串内容的数据
- 8.3.6 颠倒字符串的顺序
- 8.3.7 字符串替换
- 8.4 聚合函数
- 8.4.1 聚合函数概述
- 8.4.2 SUM函数运算
- 8.4.3 MAX函数运算
- 8.4.4 MIN函数运算
- 8.4.5 AVG函数运算
- 8.4.6 COUNT函数运算
- 8.4.7 聚合函数的组合使用
- 8.5 小结
- 第9章 连接查询
- 9.1 多表连接
- 9.1.1 多表连接的优点
- 9.1.2 简单的两表连接
- 9.1.3 多表连接举例
- 9.1.4 UNION JOIN 连接表
- 9.2 自连接与自然连接
- 9.2.1 自连接
- 9.2.2 自然连接
- 9.3 内连接
- 9.3.1 等值连接
- 9.3.2 不等值连接
- 9.3.3 使用内连接实现多表连接
- 9.3.4 在内连接中使用聚合函数
- 9.4 外连接
- 9.4.1 左外连接
- 9.4.2 右外连接
- 9.4.3 全外连接
- 9.4.4 在外连接中使用聚合函数
- 9.5 交叉连接
- 9.5.1 交叉连接的定义
- 9.5.2 交叉连接举例
- 9.6 多表连接的综合应用
- 9.6.1 内连接与左外连接的综合应用
- 9.6.2 内连接与右外连接的综合应用
- 9.6.3 UNION集合运算与多表连接应用
- 9.7 小结
- 第10章 子查询
- 10.1 子查询的简单应用
- 10.1.1 子查询概述
- 10.1.2 在多表查询中使用子查询
- 10.1.3 在子查询中使用聚合函数
- 10.1.4 使用ANY或ALL运算符
- 10.1.5 使用子查询创建视图
- 10.2 使用IN语句的子查询
- 10.2.1 简单的IN语句子查询
- 10.2.2 使用IN子查询实现集合交运算
- 10.2.3 使用IN子查询实现集合差运算
- 10.3 使用EXISTS语句的子查询
- 10.3.1 简单的EXISTS语句子查询
- 10.3.2 使用EXISTS子查询实现两表交集
- 10.3.3 使用EXISTS子查询实现两表并集
- 10.3.4 使用NOT EXISTS的子查询
- 10.4 相关子查询
- 10.4.1 使用IN引入相关子查询
- 10.4.2 使用比较运算符引入相关子查询
- 10.4.3 在HAVING子句中使用相关子查询
- 10.5 UNIQUE子查询与嵌套子查询
- 10.5.1 UNIQUE子查询
- 10.5.2 嵌套子查询
- 10.6 小结
- 第4篇 T-SQL开发常用操作篇
- 第11章 数据的维护操作
- 11.1 数据的插入操作
- 11.1.1 INSERT语句的基本语法
- 11.1.2 插入单条记录
- 11.1.3 NULL的插入
- 11.1.4 由VALUES关键字插入多行数据
- 11.1.5 使用SELECT语句插入数据
- 11.1.6 通过视图插入数据
- 11.1.7 使用子查询插入数据
- 11.2 数据的更新操作
- 11.2.1 UPDATE语句的基本语法
- 11.2.2 使用UPDATE语句更新指定的列值
- 11.2.3 数据字段中NULL的更改
- 11.2.4 更新全部数据
- 11.2.5 利用子查询更新数据
- 11.2.6 通过视图更新表数据
- 11.3 数据的删除操作
- 11.3.1 DELETE语句的语法结构
- 11.3.2 删除指定行的数据
- 11.3.3 删除所有数据
- 11.3.4 通过视图删除表数据
- 11.3.5 使用子查询删除数据
- 11.3.6 使用TRUNCATE TABLE语句
- 11.4 小结
- 第12章 完整性控制
- 12.1 完整性约束概述
- 12.1.1 数据的完整性简介
- 12.1.2 完整性约束的类型
- 12.1.3 数据完整性的意义
- 12.2 约束
- 12.2.1 DEFAULT约束
- 12.2.2 CHECK约束
- 12.2.3 PRIMARY KEY约束
- 12.2.4 UNIQUE约束
- 12.2.5 FOREIGN KEY约束
- 12.2.6 NOT NULL约束
- 12.2.7 列约束和表约束
- 12.3 规则
- 12.3.1 创建规则
- 12.3.2 规则的绑定与松绑
- 12.4 域约束与断言
- 12.4.1 域与域约束
- 12.4.2 利用断言创建多表约束
- 12.5 默认值
- 12.5.1 创建默认值
- 12.5.2 默认值的绑定与松绑
- 12.6 小结
- 第5篇 T-SQL高级编程篇
- 第13章 存储过程
- 13.1 存储过程概述
- 13.1.1 存储过程的基本概念
- 13.1.2 存储过程的优缺点
- 13.2 存储过程中常用的流控制语句
- 13.2.1 IF...ELSE语句
- 13.2.2 BEGIN...END语句
- 13.2.3 DECLARE语句
- 13.2.4 GOTO语句
- 13.2.5 WAITFOR语句
- 13.2.6 WHILE、BREAK和CONTINUE语句
- 13.2.7 PRINT语句
- 13.2.8 RETURN语句
- 13.2.9 注释
- 13.3 创建与执行存储过程
- 13.3.1 创建存储过程
- 13.3.2 创建带参数的存储过程
- 13.3.3 创建带OUTPUT返回参数的存储过程
- 13.3.4 执行存储过程
- 13.4 存储过程的查看、修改和删除
- 13.4.1 系统存储过程
- 13.4.2 存储过程的查看
- 13.4.3 存储过程的重命名
- 13.4.4 修改存储过程
- 13.4.5 存储过程的删除
- 13.5 Oracle数据库中的控制流语句
- 13.5.1 IF条件语句
- 13.5.2 LOOP循环语句
- 13.5.3 FOR循环语句
- 13.5.4 WHILE循环语句
- 13.5.5 GOTO语句
- 13.6 Oracle数据库中的存储过程
- 13.6.1 Oracle数据库中创建存储过程
- 13.6.2 Oracle数据库中存储过程的执行
- 13.7 小结
- 第14章 触发器
- 14.1 触发器的基础知识
- 14.1.1 触发器的概念
- 14.1.2 触发器的种类
- 14.1.3 触发器的组成
- 14.1.4 触发器的优点
- 14.1.5 触发器执行环境
- 14.2 触发器的创建
- 14.2.1 创建触发器的语法结构
- 14.2.2 Inserted表和Deleted表
- 14.2.3 INSERT触发器
- 14.2.4 UPDATE触发器
- 14.2.5 DELETE触发器
- 14.2.6 INSTEAD OF触发器
- 14.2.7 嵌套触发器
- 14.2.8 递归触发器
- 14.3 查看触发器
- 14.3.1 使用系统存储过程sp_help查看触发器
- 14.3.2 使用系统存储过程sp_helptext查看触发器
- 14.3.3 使用系统存储过程sp_depends查看触发器
- 14.4 触发器的修改及删除
- 14.4.1 触发器的修改
- 14.4.2 触发器的删除
- 14.5 Oracle数据库中的触发器
- 14.5.1 Oracle触发器类型
- 14.5.2 触发器的创建
- 14.5.3 Oracle触发器的启用与禁用
- 14.5.4 Oracle触发器的删除
- 14.6 小结
- 第15章 游标
- 15.1 游标的定义
- 15.1.1 游标的基本概念
- 15.1.2 游标的分类
- 15.1.3 游标的作用及其应用
- 15.2 游标的使用
- 15.2.1 游标的创建
- 15.2.2 打开游标
- 15.2.3 关闭游标
- 15.2.4 释放游标
- 15.2.5 使用游标
- 15.2.6 检索游标
- 15.2.7 游标变量
- 15.3 游标的扩展使用
- 15.3.1 用于UPDATE操作的可更新游标
- 15.3.2 用于DELETE操作的可更新游标
- 15.3.3 可更新游标的综合操作
- 15.3.4 使用@@CURSOR_ROWS全局变量确定游标的行数
- 15.3.5 使用@@FETCH_STATUS全局变量检测FETCH操作的状态
- 15.3.6 使用系统过程管理游标
- 15.4 Oracle中游标的使用
- 15.4.1 显式游标与隐式游标
- 15.4.2 游标属性
- 15.4.3 参数化游标
- 15.4.4 游标中的循环
- 15.5 小结
- 第16章 事务控制和锁定
- 16.1 事务
- 16.1.1 事务概述
- 16.1.2 事务的特性
- 16.1.3 事务的分类
- 16.2 事务控制
- 16.2.1 事务控制操作
- 16.2.2 开始事务
- 16.2.3 提交事务
- 16.2.4 回滚事务
- 16.2.5 设置事务保存点
- 16.2.6 终止事务
- 16.3 并发控制
- 16.3.1 并发操作的问题
- 16.3.2 事务隔离级别
- 16.4 锁定
- 16.4.1 锁的作用及含义
- 16.4.2 锁的类型
- 16.4.3 SQL Server中表级锁的使用
- 16.4.4 设置隔离级别实现并发控制
- 16.4.5 死锁及其处理
- 16.5 小结
- 第17章 SQL安全
- 17.1 SQL安全概述
- 17.1.1 SQL安全的重要性
- 17.1.2 SQL安全的对象和权限
- 17.2 用户管理
- 17.2.1 创建SQL用户
- 17.2.2 删除SQL用户
- 17.3 角色管理
- 17.3.1 角色的优点
- 17.3.2 创建角色
- 17.3.3 删除角色
- 17.3.4 授予角色
- 17.3.5 取消角色
- 17.4 权限管理
- 17.4.1 授予权限
- 17.4.2 撤销权限
- 17.4.3 查询权限控制
- 17.4.4 插入操作权限控制
- 17.4.5 删除操作权限控制
- 17.4.6 更新操作权限控制
- 17.5 SQL Server中的安全管理
- 17.5.1 SQL Server中的用户管理
- 17.5.2 SQL Server中的角色管理
- 17.5.3 SQL Server中的权限管理
- 17.6 Oracle中的安全管理
- 17.6.1 Oracle中的用户管理
- 17.6.2 Oracle中的权限管理
- 17.7 小结
- 第18章 嵌入式SQL
- 18.1 SQL的调用
- 18.1.1 直接调用SQL
- 18.1.2 SQL调用层接口(CLI)
- 18.2 嵌入式SQL的使用
- 18.2.1 嵌入式SQL
- 18.2.2 SQL通信区
- 18.2.3 主变量
- 18.2.4 在嵌入式SQL中使用SQL语句
- 18.2.5 在嵌入式SQL中使用游标
- 18.3 嵌入式SQL在SQL Server中应用
- 18.3.1 嵌入式SQL代码
- 18.3.2 预编译文件
- 18.3.3 设置连接VC 6.0
- 18.3.4 编译运行程序
- 18.4 小结
- 第6篇 T-SQL结合流行语言进行开发篇
- 第19章 C#与SQL Server的开发与应用
- 19.1 C#开发环境
- 19.1.1 C#介绍
- 19.1.2 C#开发环境
- 19.2 C#连接数据库
- 19.2.1 C#中的数据库控件介绍
- 19.2.2 数据库连接举例
- 19.3 数据查询应用
- 19.3.1 普通数据查询的实现
- 19.3.2 连接查询的实现
- 19.3.3 子查询的实现
- 19.3.4 复合查询的实现
- 19.4 运算符与表达式的应用
- 19.4.1 连接数据表的实现
- 19.4.2 算术运算符的应用
- 19.4.3 表达式的应用
- 19.5 数据维护操作的应用
- 19.5.1 添加数据的实现
- 19.5.2 更新数据的实现
- 19.5.3 删除数据的实现
- 19.6 触发器与存储过程的应用
- 19.6.1 在C#中应用触发器
- 19.6.2 在C#中应用存储过程的示例
- 19.7 小结
- 第20章 VB.NET与SQL Server的开发与应用
- 20.1 VB.NET介绍
- 20.1.1 了解VB.NET
- 20.1.2 VB.NET的新特点
- 20.2 VB.NET连接数据库
- 20.2.1 通过数据控件绑定连接数据库
- 20.2.2 通过数据对象直接连接数据库
- 20.3 数据查询应用
- 20.3.1 普通数据查询的实现
- 20.3.2 连接查询的实现
- 20.3.3 子查询的实现
- 20.3.4 复合查询的实现
- 20.4 运算符与表达式的应用
- 20.4.1 连接数据表的实现
- 20.4.2 算术运算符的应用
- 20.4.3 表达式的应用
- 20.5 数据维护与触发器的应用
- 20.5.1 添加数据的实现
- 20.5.2 更新数据的实现
- 20.5.3 删除数据的实现
- 20.5.4 在VB.NET中应用触发器
- 20.6 小结
- 第21章 VB 6.0与SQL Server的开发与应用
- 21.1 VB 6.0开发环境
- 21.1.1 VB 6.0介绍
- 21.1.2 VB 6.0的版本
- 21.1.3 VB 6.0开发环境
- 21.2 VB 6.0连接数据库
- 21.2.1 VB 6.0中的数据库控件介绍
- 21.2.2 数据库连接举例
- 21.3 数据查询应用
- 21.3.1 普通数据查询的实现
- 21.3.2 连接查询的实现
- 21.3.3 子查询的实现
- 21.3.4 复合查询的实现
- 21.4 运算符与表达式的应用
- 21.4.1 连接数据表的实现
- 21.4.2 算术运算符的应用
- 21.4.3 表达式的应用
- 21.5 数据维护操作的应用
- 21.5.1 添加数据的实现
- 21.5.2 更新数据的实现
- 21.5.3 删除数据的实现
- 21.6 触发器与存储过程的应用
- 21.6.1 在VB 6.0中应用触发器
- 21.6.2 在VB 6.0中应用存储过程
- 21.7 小结
- 第22章 VC 6.0与SQL Server的开发与应用
- 22.1 VC 6.0开发环境
- 22.1.1 VC 6.0介绍
- 22.1.2 MFC编程
- 22.1.3 VC 6.0开发环境
- 22.2 VC 6.0连接数据库
- 22.2.1 ADO数据控件介绍
- 22.2.2 数据库连接举例
- 22.3 数据查询应用
- 22.3.1 普通数据查询的实现
- 22.3.2 连接查询的实现
- 22.3.3 子查询的实现
- 22.3.4 复合查询的实现
- 22.4 运算符与表达式的应用
- 22.4.1 连接数据表的实现
- 22.4.2 算术运算符的应用
- 22.4.3 表达式的应用
- 22.5 数据维护操作的应用
- 22.5.1 添加数据的实现
- 22.5.2 更新数据的实现
- 22.5.3 删除数据的实现
- 22.6 小结
- 第23章 PHP访问SQL Server 2005
- 23.1 PHP开发环境
- 23.1.1 PHP简介及其特点
- 23.1.2 PHP开发环境的安装
- 23.2 PHP连接SQL Server服务器
- 23.2.1 使用PHP的MSSQL扩展
- 23.2.2 PHP连接SQL Server的必要条件
- 23.3 使用PHP存取SQL Server数据库
- 23.3.1 选择操作的数据库
- 23.3.2 在数据库中创建表
- 23.3.3 删除存在的数据表
- 23.4 对数据库中表的操作
- 23.4.1 向表中添加记录
- 23.4.2 浏览表中记录
- 23.4.3 修改已有记录
- 23.4.4 删除指定记录
- 23.5 可回复留言板的开发(PHP SQL Server)
- 23.5.1 数据表的设计
- 23.5.2 配置文件的创建
- 23.5.3 创建系统运行的表
- 23.5.4 创建留言显示模块
- 23.5.5 创建留言添加模块
- 23.5.6 进入留言管理模块
- 23.5.7 创建留言修改模块
- 23.5.8 创建留言删除模块
- 23.6 小结