前言
关系数据库已经成为数据库系统的主流。目前广泛使用的数据库软件都是基于关系模型的。SQL的全称是Structured Query Language(结构化查询语言),是关系数据库中最常用的语言。SQL不仅可以用来管理数据库中的数据,还可以用来管理关系数据库本身。读者可以通过交互式客户端应用程序利用SQL直接访问SQL数据库。本书从SQL基本知识开始,结合流行的数据库软件(SQL Server和Oracle),讲述了数据操作与系统管理的方方面面。
本书特点
内容全面、结构清晰、查询方便
本书依照SQL语句要素,按照数据定义、数据查询、数据操纵、数据控制、事务控制和程序化SQL的顺序讲解SQL语言,内容全面。
本书中,大多数SQL语句都是采用“语法、说明、实例、实例代码、运行结果”的顺序结构来阐述的,方便读者学习和速查。
实例丰富、紧密结合实际应用
本书共包括大小实例321个,可以让读者在学习SQL语言原理的同时掌握其用法。
本书还兼顾了SQL语句在各数据库产品中的实现。对于SQL Server和Oracle中差别不大的语句,本书在实例部分只介绍其在SQL Server中的实现过程;而对于SQL Server和Oracle中差别比较大的语句,本书在实例部分分别介绍其在SQL Server和Oracle中的实现。
本书内容
第1章是本书的开篇,主要介绍了关系数据库和关系模型,这些是SQL的基础。本章还从整体上介绍了SQL以及SQL环境的组成。
第2章是本书的预备知识,简单介绍了常用的关系数据库系统SQL Server的基本情况,以及它支持的SQL扩展语言Transact-SQL的基本概念和主要内容,为后面介绍SQL的具体应用打下了基础。
第3章主要介绍了SQL中常用的数据类型以及SQL中表的定义语句,其中讲解了使用CREATE TABLE语句创建表,使用ALTER TABLE语句修改表(包括增加列、删除列和修改列),以及使用DROP TABLE语句删除表。
第4章介绍了索引、视图的基本概念,在SQL中创建、销毁索引和视图的语法及实现实例,并且给出了它们的使用原则。
第5章介绍了SQL查询语句(SELECT语句)的基本语法结构和执行步骤,主要介绍了一些常用的简单查询,包括列的查询、使用ORDER BY子句对查询结果排序,同时介绍了使用条件字句WHERE为查询设置简单搜索条件。
第6章介绍了在WHERE子句中经常使用的复杂的条件查询,包括组合查询条件、IN运算符、NOT运算符,以及使用LIKE运算符和通配符进行模糊查询等。
第7章介绍了在SQL数据查询时,如何通过连接符、数学运算以及函数等在查询过程中对数据进行一些处理,并且将处理后的结果提供给用户。
第8章介绍了在SQL中如何运用聚合函数对数据进行聚合分析。在使用聚合函数时,本章还介绍了使用GROUP BY子句进行分组聚合分析以及使用HAVING子句对分组信息进行进一步筛选。
第9章从基本的连接入手,介绍了表的自连接、自然连接、内连接和外连接,其中内连接介绍了等值连接和不等值连接两种基本形式;外连接介绍了左外连接、右外连接和全外连接。
第10章讲解了子查询,包括创建和使用返回单值的子查询、返回多行的子查询、相关子查询和嵌套子查询等内容。
第11章介绍了使用INSERT语句向表中插入数据,详细介绍了单行记录、多行记录的插入以及表中数据的复制操作,还介绍了数据库中经常用到的数据的导入/导出操作。
第12章介绍了使用UPDATE语句更新表中的数据和使用DELETE语句删除表中的数据,分别介绍了更新和删除表中的一行、多行以及所有行数据的操作。
第13章介绍了SQL对数据库的安全性控制功能;在介绍SQL安全模式的基础上,详细介绍了SQL中的角色管理与权限管理;最后,对SQL Server和Oracle中的安全管理进行了详细的论述。
第14章介绍了与表有关的约束:NOT NULL约束、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束和CHECK约束、域约束以及断言,最后对SQL Server提供的规则对象与缺省值对象作了详细介绍。
第15章介绍了SQL中的存储过程与函数。本章主要以SQL Server数据库为例,结合实例讲解了存储过程和函数的开发调用过程,最后对Oracle的存储过程与函数开发作了简单的介绍。
第16章介绍了SQL中触发器的有关概念和操作。
第17章介绍了SQL中通过游标提取和维护数据的方法,然后详细介绍了在SQL Server和Oracle中,游标的扩展应用实例。
第18章介绍了事务的概念、事务控制的实现以及多用户访问数据库的并发控制,然后介绍了在SQL Server和Oracle中并发控制的具体实现。
第19章介绍了嵌入式SQL的基本概念及其应用,然后通过具体的实例详细阐述了在C语言中嵌入SQL语句访问SQL Server和Oracle的过程。
本书具有知识全面、讲解细腻、指导性强等特点,力求以全面的知识及丰富的实例指导读者掌握SQL编程的基础知识。
作者简介
本书由张权和郭天娇编写,其中,张权编写了本书第1~10章,郭天娇编写了第11~19章。
张权,现为天津红翔吉瑞网络科技有限公司CEO,硅谷访问学者,国内顶级数据库专家,主研移动终端与大数据交互;拥有多家上市公司移动终端解决方案实施经验,曾为国内外多家知名互联网企业提供移动终端技术咨询服务。
郭天娇,现就职于吉林工程技术师范学院,长期从事计算机科学与技术及软件工程专业的教学与科研工作。
本书主要读者对象
本书结构清晰、讲解精炼,并辅以了大量实例,便于新手理解和学习SQL,另外本书也可以作为数据库开发人员的参考手册,适合PHP、Java、.NET等各类程序员使用。