精通SQL

当前位置:首页 > 网络编程 > 数据库 > 精通SQL

出版社:李俊民 人民邮电出版社 (2008-08出版)
出版日期:2008-8
ISBN:9787115180414
作者:李俊民
页数:473页

作者简介

《精通SQL结构化查询语言详解(第2版)》内容全面、结构清晰、查询方便,不仅全面地介绍了SQL语句,并且兼顾了其在SQL Server和Oracle数据库产品中的实现。全书共分为23章,通过实例全面、系统地讲解了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章 嵌入式SQL18.1 SQL的调用18.1.1 直接调用SQL18.1.2 SQL调用层接口(CLI)18.2 嵌入式SQL的使用18.2.1 嵌入式SQL18.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.018.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.NET20.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 200523.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 小结

编辑推荐

《精通SQL结构化查询语言详解(第2版)》示例丰富、简单易学,适用于广大运用SQL编程的读者,尤其适合SQL的初学者,同时也是查询SQL知识点的必备参考书。

章节摘录

  第1章 SQL语言的概述  SQL语言是关系数据库系统的一种高级语言,是由Boyce和Chamberlin于1974年提出的,并作为IBM公司关系数据库管理系统的查询语言文本。SQL语言在关系型数据库中的地位犹如英语在世界上的地位一样的重要,具有很强的通用性,用户可以用几乎同样的语句在不同的数据库管理系统上执行相同的操作。  本章主要介绍SQL和数据库的基本概念、数据库和数据模型的基础、SQL开发环境和SQL的基本语法结构等相关的知识。  1.1 认识SQL语言  SQL是集数据操作、数据定义、数据控制功能于一体的关系数据库语言。经过多年的发展,SQL已逐渐成为一种国际标准。美国国家标准化组织为多种SQL命令设置了标准,并规定了SQL的基本规范。  1.1.1 什么是SQL语言  SQL全称是“结构化查询语言(Structured Query Language)”。SQL语言简单易学、风格统一,利用几个简单的英语单词的组合,就可以完成很多复杂的功能。SQL语言具有很强的通用性,在SQL Plus Worksheet环境下可以单独使用SQL语句,同时也可以嵌入到如Visual Basic、Power Builder这样的高级语言开发平台上,利用高级语言开发工具的计算能力和SQL的数据库操纵能力,快速地建立数据库应用程序。  1.1.2 SQL的历史与发展  在20世纪70年代中期,IBM公司为了研制SYSTEMR关系数据库管理系统而研制了SQL语言,最早的SQL语言称为SEQUEL2,是在1976年11月的IBM Journal of R&D上公布的。  最早将SQL作为商用的是Oracle公司,在Oracle公司之后,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。80年代中期,美国ANSI采用SQL作为关系数据库管理系统的标准语言,当时,ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言为ANSI SQL 89,该标准替代了ANSI X3.135-1986版本。后来SQL被国际标准化组织(1SO)作为国际标准。  20世纪90年代初期,SQL又出现了新版本SQL-92,简称SQL2。SQL-92代表了SQL的主要版本,扩展并改进了早期版本的功能特性。  1999年,SQL的标准版本对SQL.92版本又新增了一些功能,标志着SQL在满足用户需求方面又前进了一步。

图书封面


 精通SQL下载



发布书评

 
 


精彩短评 (总计9条)

  •     不应该有C++的内容
  •     书里有些sql语句需要大量的建不同的表,同一章还要建同名不同内容的表,时间都浪费在建表上了!建议不要买此书,这样学起来浪费时间!
  •     目录写错了18章那里的目录写错了,书其实是没有C++内容的
  •     基础的东西,适合入门者
  •     搞不懂,怎么第二版还有c++,数据库就是数据库,增加虚的内容!垃圾
  •     很实用的书,蛮不错的,基本上是看完了,很受用
  •     总体来说吧,还可以。
  •     SQL语法讲的很详细,适合作为语法书
  •     是本不错的书哦!!!
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024