前言
在实际的应用开发中,无论是应用软件的开发人员还是数据库的管理人员都需要与数据库打交道,而SQL语言作为数据库语言之一,是关系数据库系统中最常用的一种语言。因此全面了解并掌握SQL语言无论是对于软件开发人员还是对数据库的管理人员都是非常重要的。
大多数有关数据库的图书一般都会涉及关系数据库基本理论、数据库的设计与管理等方面的内容,对SQL语句部分并没有详细的阐述。本书是一本从基础知识开始全面讲解SQL的图书,从最简单的数据查询开始,到对数据的排序分组,再到一些复杂的数据查询,例如,数据表的连接、子查询以及一些数据库中的常用函数,然后再渐进到PL/SQL编程基础,PL/SQL中常量、变量、记录、集合的声明和使用,以及控制结构、存储过程、函数、包、触发器的创建和使用,在SQL应用中介绍了查询优化、动态以及使用高级程序设计语言通过SQL实现对数据库中数据的存取访问,循序渐进、系统全面地介绍了SQL的相关知识。
本书特点
1. 由浅入深,循序渐进
为了方便读者学习,本书从关系数据库的基础知识讲起,以易于安装的开源数据库MySQL 5.0为基础,从SQL语句的基本语法入手,从简单的数据检索到对数据的排序分组再到数据表的连接、子查询,然后再渐进到PL/SQL编程、查询优化、SQL应用开发。
2. 内容全面,结构清晰
不同的数据库系统对SQL的支持和扩展存在很大差异。为了方便读者学习,本书充分对比SQL Server、Oracle、MySQL在SQL实现上的差异,进行详细讲解。读者通过本书,可以全面掌握三种数据库的SQL使用。同时,本书按照数据定义语言(DDL)、数据查询语言(DQL)、数据操作语言(DML)、数据控制语言(DCL)、事务控制语言、SQL的扩展PL/SQL编程的顺序对SQL语句进行全面的讲解。
3. 实例丰富,结合实际
本书对于每一个SQL语句的讲解都配有多个实例,使读者在了解SQL语法的同时,能够真正掌握其用法。同时结合目前主流的数据库Microsoft SQL Server和Oracle,对SQL语句在这些数据库中的使用差别也都在实例中给出了相应的实现方法。
4. 查询方便,便于自学
对于大部分的SQL语句采用“语法规范、语法说明、实例代码、实例讲解、显示结果”的结构进行阐述。对于每一个SQL和PL/SQL语句都进行了详细讲解,便于读者理解。在本书的附录中还提供了常用SQL语句和在MySQL、Microsoft SQL Server以及Oracle数据库中常用函数的对照表,便于读者对每一部分进行查询和学习。
5. 内容充实,要点突出
本书系统全面地介绍了SQL的知识,对于需要注意和需要强调的内容,以“注意”、“说明”、“提示”三种形式给出。其中,“注意”表示在使用SQL语句中可能会出现以及在实际使用中需要避免的问题;“说明”表示文中讨论的一些比较重要的信息;“提示”给出一种建议和方法。
本书内容
第1章:主要介绍关系数据库中涉及的几个重要的概念,包括概念模型、关系数据模型和关系模式,并介绍了几种常用的关系数据库,最后以MySQL 5.0数据库为例,介绍了MySQL 5.0数据库的安装和使用方法。
第2章:对SQL语言进行介绍,讲述SQL语句的分类、特点以及SQL语言中常用数据类型,最后介绍了SQL语句书写规范。
第3章:主要介绍使用SQL语句以及在MySQL 5.0 Command Line Client窗口和MySQL 5.0的用户图形界面下创建和删除数据库的方法。
第4章:全面地介绍了数据表中涉及的数据类型和关系数据库中几个重要的概念,包括主键、外键、索引和约束及其使用方法。另外,还将介绍数据表的创建方法,以及如何对表中的记录进行增加和修改操作,如何删除数据表等内容。
第5章:主要介绍SELECT语句查询的基本操作,包括如何查询全部列的记录,查询表中指定的列,查询表中不重复的记录,使用列别名查询,对查询的记录进行算术运算以及数据库中连接多个字段的方法。
第6章:主要介绍如何使用WHERE子句查询表中满足条件的记录,包括比较查询、逻辑查询、空值查询和模糊查询。
第7章:介绍SQL语句的聚合函数和GROUP BY子句的使用以及如何使用ROLLUP关键字进行数据统计。最后还将介绍MySQL数据库、Oracle数据库以及Microsoft SQL Server数据库中限制结果集行数的方法。
第8章:主要介绍内连接、交叉连接、自连接以及外连接四种连接查询的使用方法以及并操作、交操作和差操作三种集合查询。
第9章:主要介绍SQL语句中的子查询。包括单行子查询、多行子查询、多列子查询、相关子查询、多重子查询以及在CREATE TABLE语句中使用子查询实现数据表的复制的方法。
第10章:主要以Oracle数据库、MySQL数据库以及Microsoft SQL Server数据库为基础,讲解在这三种数据库中一些常用函数的功能及其使用方法。
第11章:介绍视图的作用以及如何创建和删除一个视图。
第12章:主要讲解如何使用INSERT INTO语句向数据表和视图中插入数据。
第13章:主要讲解如何使用UPDATE SET语句在数据表和视图中修改数据。
第14章:主要讲解如何使用DELETE语句在数据表和视图中删除数据。
第15章:主要介绍使用GRANT语句授予权限和使用REVOKE语句回收权限的方法,并以MySQL 5.0数据库为例,介绍在MySQL 5.0数据库中使用Adiministrator管理系统授予用户权限的方法。
第16章:介绍事务的概念、事务管理以及事务的并发控制。
第17章:讲解PL/SQL的概念、使用PL/SQL的原因、PL/SQL的编写规范以及常用的PL/SQL开发工具的简单介绍。
第18章:介绍PL/SQL的块结构和PL/SQL的基本要素,重点介绍过程性的语句中涉及的变量声明、数据类型、变量作用域以及数据类型相互转换等内容。
第19章:介绍PL/SQL中的控制结构的使用方法,主要包括分支结构、循环结构和顺序结构。
第20章:主要介绍如何使用显式游标进行多行数据的查询、游标FOR循环以及游标变量的使用,另外还将介绍游标属性以及嵌套游标的使用等内容。
第21章:介绍PL/SQL中有关异常处理的相关内容,包括使用异常处理的原因、如何声明、抛出、捕获和处理异常以及异常的处理机制,最后介绍使用异常的一些基本原则。
第22章:主要介绍存储过程的创建、调用、参数模式以及参数传递方面的内容。
第23章:主要介绍函数的创建、调用、参数传递以及在SQL语句中如何调用函数等内容。最后,还将对存储过程和函数之间的异同进行了比较。
第24章:主要介绍包的创建、包中公有元素的调用、包中子程序的重载以及包的删除方法。最后还会介绍Oracle数据库中常用内置系统包。
第25章:主要介绍触发器的类型及其用途、触发器的创建和维护。
第26章:介绍一些有关SQL语句查询优化的方法。
第27章:介绍实现动态SQL语句的方法。
第28章:主要介绍数据库的存取访问方法。本章从数据库应用系统结构入手,介绍数据库应用系统结构的4种基本结构,然后介绍几种常用的数据库连接访问技术,最后通过一种高级程序设计语言Java与一个数据库MySQL 5.0的连接和开发的例子介绍如何使用程序设计语言实现对数据库的连接和访问。
附录中为常用SQL语句和常用函数对照。
本书适合的读者
❑SQL语言的初学者
❑大中专院校计算机专业的学生和教师
❑数据库管理和开发人员
❑程序设计和软件开发人员
❑社会培训学生
本书作者
本书由孙浏毅主笔编写,同时参与编写和资料整理的有刘亮亮、丁士锋、何涛发、陈杰、黄曦、罗嘉、段春江、韩红宇、李嵩峰、莫光胜、王天国、李蓉、吴荣、宋祥亮、刘宇、吕晓鹏、王大伟、吴小平、张卫忠、施佳鹏、王嘉、吴雪、阳婷、张秀妍、王江、王志永、杨红、郑维龙、王松、张文。
编者