首页>参考读物>计算机科学与技术>综合

零基础学SQL
作者 : 孙浏毅 等编著
丛书名 : 零基础学编程
出版日期 : 2009-12-28
ISBN : 978-7-111-29198-5
定价 : 60.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 474
开本 : 16
原书名 : 零基础学SQL结构化数据查询
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书的内容包括数据库创建和管理、数据表与视图的创建和维护、数据查询、数据更新、数据控制、SQL的扩展PL/SQL编程等方面的内容,通过这些内容可以掌握编写SELECT语句、DML语句(INSERT、UPDATE和DELETE)、DDL语句(CREATE、ALTER和DROP)、DCL语句(GRANT、REVOKE)和事务控制语句(COMMIT、ROLLBACK和SAVEPOINT)的使用方法,与PL/SQL编程有关的结构控制语句、记录集合类型的使用,存储过程、函数、包,以及触发器的创建和使用方法,最后在SQL应用中介绍了查询优化、动态SQL以及数据库的存取访问等在数据库中的应用方面的内容。

图书特色

零基础学SQL
孙浏毅 等编著

20.5小时全程多媒体视频讲解
循序渐进:从数据库与数据表的创建开始讲解,逐步过渡到SQL语言的学习
内容全面:涵盖SQL语言数据查询、数据更新、数据控制等方面的内容
便于学习:对SQL语句采用语法规范、语法说明、实例代码、实例讲解、显      示结果的结构阐述,方便学习和查询
对比讲解:对比了SQL Server、Oracle和MySQL三种数据库在SQL实现上的差异
实例丰富:讲解每一个SQL语句时都提供了多个示例,全书贯穿示例达400余个
视频教学:配有20.5小时多媒体视频进行讲解,学习效果好

本书涵盖内容
概念模型、关系数据模型、关系模式
SQL语言的分类和特点、SQL语言的书写规范、常用数据类型
数据库的创建和删除、数据表的创建和更新
数据记录、属性、字段、列、行、主键、外键、约束、索引
使用约束、使用索引
修改数据库中的表、删除数据库中的表
基本查询操作、比较查询、逻辑查询、空值查询、模糊查询
表中数据的排序与分组
多表连接查询与集合查询、相关子查询与多重子查询
常用函数的使用、视图的创建与维护
数据记录的增加、删除和修改
权限的授予与回收、事务的控制与管理
PL/SQL的编写规范、块结构、基本要素、数据类型和控制结构
使用游标、异常处理
存储过程的创建与维护、函数的创建与维护、包的创建与维护
触发器创建与管理
SQL语句性能优化、动态SQL、数据库的存取访问

零基础学数据结构
陈锐 等编著

19.5小时多媒体视频讲解
内容全面:本书涵盖了数据结构中几乎所有知识点
图文并茂:用通俗易懂的文字描述,并绘制了多幅示意图帮助读者理解
实例丰富:全书提供了70余个典型实例帮助读者理解数据结构与算法思想
C语言描述:书中的算法采用C语言描述,适合众多读者学习
视频教学:配有19.5小时多媒体视频进行讲解,学习效果好


本书涵盖内容
数据结构基本概念、抽象数据类型及描述
数据结构的逻辑结构与存储结构、算法特性与描述、算法分析
递归与非递归、指针、参数传递
结构体与联合体、动态内存分配与释放、链表
线性表的概念及运算、线性表的顺序表示与实现
单链表、循环单链表、双向链表、静态链表
栈的表示与实现、栈的顺序表示与实现
栈的链式表示与实现、栈与递归的实现
队列的定义、顺序存储及实现、链式存储及实现、双端队列
串的顺序表示与实现、串的堆分配表示与实现
串的链式存储表示与实现、串的模式匹配
数组的顺序表示与实现、特殊矩阵的压缩存储
稀疏矩阵的压缩存储、稀疏矩阵的十字链表表示与实现
广义表的头尾链表表示与实现、广义表的扩展线性链表表示与实现
二叉树的存储表示与实现、遍历、线索化、哈夫曼树
图的定义、存储结构、遍历、连通性、有向无环图
静态查找、动态查找、B-树与B+树、散列表
内排序:插入排序、选择排序、交换排序、归并排序、基数排序
外排序:磁盘排序、磁带排序

图书前言

在实际的应用开发中,无论是应用软件的开发人员还是数据库的管理人员都需要与数据库打交道,而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语句和常用函数对照。
本书适合的读者           
  q SQL语言的初学者
  q 大中专院校计算机专业的学生和教师
  q 数据库管理和开发人员
  q 程序设计和软件开发人员
  q 社会培训学生
本书作者           
  本书由孙浏毅主笔编写,同时参与编写和资料整理的有刘亮亮、丁士锋、何涛发、陈杰、黄曦、罗嘉、段春江、韩红宇、李嵩峰、莫光胜、王天国、李蓉、吴荣、宋祥亮、刘宇、吕晓鹏、王大伟、吴小平、张卫忠、施佳鹏、王嘉、吴雪、阳婷、张秀妍、王江、王志永、杨红、郑维龙、王松、张文。

编  者

上架指导

计算机\程序设计

作者简介

孙浏毅 等编著:暂无简介

图书目录

出版说明
前言
第一篇  关系数据库与SQL语言
第1章  关系数据库介绍 1
1.1  数据模型 1
1.1.1  概念模型 1
1.1.2  关系数据模型 3
1.2  关系模式 3
1.3  常用关系数据库 4
1.3.1  Oracle数据库 4
1.3.2  Microsoft SQL Server数据库 4
1.3.3  MySQL数据库 4
1.3.4  PostgreSQL数据库 5
1.4  安装与使用MySQL 5.0数据库 5
1.4.1  安装MySQL 5.0 5
1.4.2  安装用户图形界面 7
1.4.3  运行MySQL 5.0 8
1.5  小结 9
第2章  SQL语言概述 10
2.1  SQL语言介绍 10
2.2  SQL语句的分类 11
2.3  SQL语言的特点 11
2.4  常用数据类型 12
2.4.1  整数类型与浮点类型 12
2.4.2  数值类型 13
2.4.3  字符类型 13
2.4.4  日期与时间类型 14
2.4.5  二进制类型 15
2.5  SQL语句书写规范 15
2.6  小结 16
第二篇  数据库与数据表的创建和管理
第3章  数据库的创建与删除 17
3.1  创建数据库 17
3.1.1  使用SQL语句创建数据库 17
3.1.2  在MySQL 5.0 Command Line Client窗口下创建数据库 18
3.1.3  在MySQL 5.0用户图形界面中创建数据库 18
3.2  删除数据库 19
3.2.1  使用SQL语句删除数据库 19
3.2.2  在MySQL 5.0 Command Line Client窗口下删除数据库 19
3.2.3  在MySQL 5.0用户图形界面中删除数据库 20
3.3  小结 21
第4章  数据表的创建与更新 22
4.1  数据库中的表 22
4.1.1  数据记录、属性、字段、列和行 22
4.1.2  主键 23
4.1.3  外键 23
4.1.4  索引 24
4.1.5  约束 24
4.2  创建数据表 25
4.3  使用约束 27
4.3.1  唯一约束 27
4.3.2  主键约束 28
4.3.3  外键约束 30
4.3.4  检查约束 31
4.3.5  非空约束 32
4.4  使用索引 33
4.4.1  索引的分类 33
4.4.2  创建与删除索引 33
4.5  修改数据库中的表 35
4.5.1  向表中增加一列 35
4.5.2  增加一个约束条件 36
4.5.3  增加一个索引 37
4.5.4  修改表中的某一列 38
4.5.5  删除表中某一列 38
4.5.6  删除一个约束条件 39
4.6  删除数据库中的表 39
4.7  数据库test_STInfo中的表 39
4.7.1  学生信息表T_student 40
4.7.2  课程信息表T_curriculum 40
4.7.3  成绩信息表T_result 40
4.7.4  教师信息表T_teacher 41
4.7.5  院系信息表T_dept 41
4.7.6  计算机系教师信息表T_CSteacher 41
4.8  小结 42
第三篇  数 据 查 询
第5章  基本查询操作 43
5.1  查询全部列的记录 43
5.2  查询表中指定的列 44
5.3  查询表中不重复的记录 45
5.4  使用列别名查询 46
5.5  对查询的记录进行算术运算 47
5.6  使用连接符(||)连接字段 47
5.7  关于NULL值 48
5.8  小结 49
第6章  使用WHERE子句查询表中满足条件的记录 50
6.1  比较查询 50
6.1.1  算术比较运算符 50
6.1.2  BETWEEN…AND运算符查询指定条件范围的记录 51
6.1.3  IN运算符查询与列表匹配的记录 52
6.1.4  字符串比较 53
6.1.5  日期时间的比较 55
6.2  逻辑查询 55
6.2.1  使用AND运算符查询同时满足多个条件的记录 55
6.2.2  使用OR运算符查询满足任一条件的记录 56
6.2.3  使用NOT运算符查询满足相反条件的记录 57
6.2.4  复杂逻辑查询 58
6.3  空值查询 58
6.4  使用LIKE操作符实现模糊查询 59
6.4.1  匹配任意单个字符 59
6.4.2  匹配0个或者多个字符 60
6.4.3  使用转义字符 61
6.5  使用REGEXP关键字进行模式匹配 61
6.6  小结 63

第7章  表中数据的排序与分组 64
7.1  使用ORDER BY 子句对数据记录进行排序 64
7.1.1  指定表中的一列进行排序 64
7.1.2  指定表中列的位置序号进行排序 66
7.1.3  对SELECT语句中的非选择列进行排序 66
7.1.4  指定表中的多列进行排序 67
7.2  常用的聚合函数 68
7.3  使用GROUP BY子句对表中数据进行分组 70
7.3.1  单列分组 70
7.3.2  多列分组 71
7.3.3  使用HAVING限制分组后的查询结果 72
7.3.4  对分组结果进行排序 73
7.3.5  GROUP BY子句中处理NULL值 73
7.4  使用ROLLUP关键字统计数据 74
7.5  限制结果集行数 75
7.5.1  使用MySQL数据库限制结果集行数 76
7.5.2  使用Oracle数据库限制结果集行数 77
7.5.3  使用Microsoft SQL Server数据库限制结果集行数 78
7.6  小结 79
第8章  连接查询与集合查询 80
8.1  内连接查询 80
8.1.1  等值连接 80
8.1.2  非等值连接 83
8.1.3  使用ON子句建立相等连接 84
8.1.4  使用USING子句建立相等连接 84
8.2  交叉连接 85
8.3  自连接查询 86
8.4  外连接查询 87
8.4.1  左外连接 88
8.4.2  右外连接 89
8.4.3  全外连接 91
8.5  集合查询 92
8.5.1  并操作 92
8.5.2  交操作 93
8.5.3  差操作 94
8.6  小结 96
第9章  子查询 97
9.1  单行子查询 97
9.2  多行子查询 98
9.2.1  使用IN运算符的子查询 98
9.2.2  使用ANY运算符的子查询 100
9.2.3  使用ALL运算符的子查询 102
9.3  多列子查询 103
9.4  相关子查询 105
9.4.1  带有EXISTS关键字的相关子查询 105
9.4.2  带有NOT EXISTS关键字的相关子查询 107
9.5  在SQL语句中使用子查询 108
9.5.1  在SELECT子句中使用子查询 108
9.5.2  在FROM子句中使用子查询 109
9.5.3  在HAVING子句中使用子查询 110
9.6  多重子查询 111
9.7  在CREATE TABLE语句中使用子查询实现数据表的复制 113
9.8  小结 115
第10章  常用函数 116
10.1  字符函数 116
10.1.1  计算字符串长度 116
10.1.2  将字符串全部转换为小写 118
10.1.3  将字符串全部转换为大写 118
10.1.4  将字符串中单词的首字母转换为大写 118
10.1.5  截取字符串 119
10.1.6  从指定字符串的左侧读取子串 122
10.1.7  从指定字符串的右侧读取子串 122
10.1.8  去除字符串左侧空格或者字符 123
10.1.9  去除字符串右侧空格或者字符 123
10.1.10  去除字符串两侧空格或者字符 124
10.1.11  左侧填充空格或者字符 126
10.1.12  右侧填充空格或者字符 127
10.1.13  取得指定的子串在字符串中的位置 129
10.1.14  颠倒指定字符串的顺序 133
10.1.15  替换指定的子串 134
10.1.16  字符替换 135
10.1.17  拼接字符串 136
10.1.18  取得字符的ASCII码 138
10.1.19  将ASCII码转换为相应的字符 139
10.1.20  匹配发音 139
10.1.21  将字符串重复指定次数 140
10.2  数字函数 141
10.2.1  求绝对值 141
10.2.2  求平方 142
10.2.3  求平方根 142
10.2.4  求对数 142
10.2.5  求幂 144
10.2.6  对指定值进行四舍五入操作 145
10.2.7  求两数相除的余数 146
10.2.8  取得大于等于指定数的最小整数 147
10.2.9  取得小于等于指定数的最大整数 147
10.2.10  求正弦与余弦值 147
10.2.11  求正切值与余切值 148
10.2.12  求反正弦和反余弦值 149
10.2.13  求反正切值 150
10.2.14  弧度与角度的互换 150
10.2.15  取得指定值的符号标志 151
10.2.16  对指定值进行截取操作 152
10.3  日期时间函数 152
10.3.1  取得当前系统的日期和时间 153
10.3.2  对日期值进行加减运算 154
10.3.3  取得日期之后指定工作日对应的日期 159
10.3.4  取得日期值中的指定内容 160
10.3.5  取得指定日期所在月的最后一天 164
10.3.6  取得两个指定月份的差 164
10.3.7  对日期时间进行舍入操作 165
10.3.8  截断指定的日期时间 165
10.4  类型转换函数 166
10.4.1  字符转换函数 166
10.4.2  日期转换函数 170
10.4.3  数值转换函数 175
10.5  比较函数 176
10.5.1  求集合中的最小值 176
10.5.2  求集合中的最大值 176
10.5.3  比较两个字符串 177
10.6  空值处理函数 177
10.6.1  NVL函数与IFNULL函数 177
10.6.2  NVL2函数 179
10.6.3  ISNULL函数 180
10.6.4  COALESCE函数 180
10.7  分支函数与条件表达式 181
10.7.1  IF函数 181
10.7.2  DECODE函数 182
10.7.3  CASE条件表达式 183
10.8  小结 186
第11章  视图的创建与删除 187
11.1  视图的作用 187
11.2  创建视图 187
11.2.1  基于单表创建视图 188
11.2.2  基于多表连接创建视图 189
11.2.3  基于函数、分组数据创建视图 190
11.2.4  为视图添加CHECK约束 191
11.2.5  基于一个已有视图创建新的视图 192
11.2.6  创建只读视图 193
11.3  删除视图 194
11.4  小结 194
第四篇  数 据 更 新
第12章  插入数据记录 195
12.1  向数据表中插入数据记录 195
12.1.1  插入单行数据记录 195
12.1.2  向定义有外键约束的表中插入数据记录 197
12.1.3  使用子查询插入多行数据实现表中数据的复制 198
12.1.4  利用MySQL 5.0数据库一次插入多条数据记录 199
12.2  向视图中插入数据记录 200
12.3  小结 201
第13章  修改数据记录 202
13.1  在数据表中修改数据记录 202
13.1.1  修改单行数据记录 202
13.1.2  在定义有外键约束的表中修改数据记录 203
13.1.3  修改多行记录 205
13.1.4  使用子查询修改数据记录 205
13.1.5  使用CASE条件表达式修改多行记录 206
13.1.6  利用MySQL 5.0数据库一次修改多条数据记录 207
13.2  在视图中修改数据记录 208
13.3  小结 209
第14章  删除数据记录 210
14.1  使用DELETE语句删除数据记录 210
14.1.1  删除满足条件的数据记录 210
14.1.2  在定义有外键约束的表中删除数据记录 211
14.1.3  使用子查询删除指定条件的数据记录 212
14.1.4  利用MySQL 5.0数据库一次删除多条数据记录 213
14.1.5  删除数据表中所有记录 213
14.2  使用TRUNCATE语句删除数据表中所有记录 213
14.3  在视图中删除数据记录 214
14.4  小结 215
第五篇  数 据 控 制
第15章  权限的授予与回收 217
15.1  数据库及其不同对象允许的操作权限 217
15.2  授予权限 218
15.2.1  授予指定用户操作数据表的权限 218
15.2.2  授予指定用户操作数据列的权限 219
15.2.3  授予指定用户授权的权限 219
15.2.4  授予创建数据表的权限 220
15.2.5  将操作权限授予所有用户 220
15.2.6  使用Administrator管理系统授予用户权限 220
15.3  回收权限 222
15.4  小结 222
第16章  事务的控制与管理 223
16.1  事务的概念 223
16.1.1  原子性 223
16.1.2  一致性 224
16.1.3  隔离性 224
16.1.4  持久性 224
16.2  控制事务 224
16.2.1  开始事务 224
16.2.2  提交事务 225
16.2.3  回滚事务 226
16.3  事务的并发控制 227
16.3.1  并发事务的工作流程 227
16.3.2  事务并发处理中存在的问题 229
16.3.3  事务的隔离级别 230
16.3.4  在数据库中设置隔离级别 230
16.3.5  设置事务访问模式 231
16.4  小结 232
第六篇  PL/SQL
第17章  PL/SQL概述 233
17.1  PL/SQL介绍 233
17.1.1  什么是PL/SQL 233
17.1.2  为什么要使用PL/SQL 234
17.2  一个PL/SQL的例子 235
17.3  PL/SQL编写规范 236
17.3.1  代码注释 236
17.3.2  标识符命名 236
17.3.3  字母大小写 236
17.3.4  代码缩进格式 237
17.4  PL/SQL开发工具简介 237
17.4.1  TOAD 237
17.4.2  Navicat 238
17.4.3  PL/SQL Developer 239
17. 5 小结 241
第18章  PL/SQL基础 242
18.1  PL/SQL的块结构 242
18.1.1  基本语句块 242
18.1.2  匿名语句块 244
18.1.3  命名语句块 245
18.1.4  子程序 246
18.1.5  包 248
18.1.6  触发器 249
18.2  PL/SQL基本要素 250
18.2.1  标识符 250
18.2.2  分隔符 251
18.2.3  文字 251
18.2.4  注释 252
18.3  声明和初始化变量 253
18.4  PL/SQL数据类型 254
18.4.1  标量类型 255
18.4.2  复合类型 259
18.4.3  引用类型 260
18.4.4  LOB类型 260
18.5  定义和使用标量变量 260
18.5.1  定义标量变量 260
18.5.2  使用标量变量 261
18.5.3  使用%TYPE属性绑定变量 261
18.6  定义和使用复合类型 262
18.6.1  定义和使用记录 262
18.6.2  定义和使用表 264
18.6.3  定义和使用嵌套表 265
18.6.4  定义和使用变长数组 268
18.7  定义和使用子类型 269
18.7.1  定义子类型 269
18.7.2  使用子类型 270
18.8  变量的作用域 270
18.9  数据类型之间的相互转换 272
18.9.1  隐式数据类型转换 272
18.9.2  显式数据类型转换 272
18.10  小结 273
第19章  PL/SQL中的控制结构 274
19.1  分支控制 274
19.1.1  IF-THEN简单条件语句 274
19.1.2  IF-THEN-ELSE条件分支语句 275
19.1.3  IF-THEN-ELSEIF多重条件分支语句 276
19.1.4  嵌套的IF语句 278
19.2  CASE语句 279
19.2.1  实现等值比较的CASE语句 280
19.2.2  设定标记的CASE语句 282
19.2.3  搜寻式CASE语句 283
19.3  循环控制 284
19.3.1  LOOP循环语句 284
19.3.2  WHILE -LOOP循环语句 286
19.3.3  FOR-LOOP循环语句 287
19.3.4  嵌套循环 288
19.4  顺序控制 288
19.4.1  GOTO语句 288
19.4.2  NULL语句 291
19.5  小结 293
第20章  使用游标 294
20.1  什么是游标 294
20.2  使用显式游标 294
20.2.1  声明游标 295
20.2.2  打开游标 296
20.2.3  从游标中取得结果 297
20.2.4  关闭游标 297
20.2.5  使用BULK COLLECT子句批量绑定数据 298
20.2.6  在游标中使用子查询 299
20.3  游标属性 299
20.3.1  显式游标属性 299
20.3.2  隐式游标属性 302
20.3.3  显式游标属性与隐式游标属性比较 303
20.4  游标循环 303
20.4.1  简单LOOP循环 303
20.4.2  WHILE循环 306
20.4.3  游标FOR循环 307
20.4.4  使用游标修改和删除数据行 308
20.4.5  参数化游标 310
20.5  使用游标变量 312
20.5.1  声明游标变量 312
20.5.2  打开游标变量 313
20.5.3  取得数据结果 313
20.5.4  关闭游标变量 314
20.5.5  一个使用游标变量的例子 314
20.5.6  使用游标变量的一些限制 315
20.6  嵌套游标 316
20.7  小结 317
第21章  异常处理 318
21.1  为什么要使用异常处理 318
21.2  声明异常 320
21.3  抛出异常 321
21.4  捕获和处理异常 322
21.4.1  捕获和处理异常的语法规则 322
21.4.2  处理预定义异常 323
21.4.3  处理自定义异常 326
21.4.4  使用内置函数处理异常 327
21.4.5  编译提示EXCEPTION_INIT 329
21.5  异常处理机制 330
21.5.1  声明部分中异常的处理机制 330
21.5.2  可执行部分中异常的处理机制 331
21.5.3  异常处理部分中异常的处理机制 332
21.6  使用异常处理原则 334
21.6.1  对捕获的异常要进行处理 334
21.6.2  确保没有未处理的异常 334
21.6.3  标记异常发生的位置 335
21.6.4  控制异常处理程序 337
21.7  小结 338
第22章  存储过程 339
22.1  创建存储过程 339
22.2  参数模式 341
22.2.1  IN模式 341
22.2.2  OUT模式 344
22.2.3  IN OUT模式 347
22.3  调用存储过程 348
22.3.1  调用无参数的存储过程 348
22.3.2  调用带有输入参数的存储过程 348
22.3.3  调用带有输出参数的存储过程 350
22.3.4  调用带有输入输出参数的存储过程 351
22.4  参数传递 352
22.4.1  使用参数位置传递参数值 352
22.4.2  使用参数名称传递参数值 352
22.4.3  使用位置和名称传递参数值 353
22.4.4  使用NOCOPY编译提示传递参数 353
22.4.5  使用参数的默认值 355
22.5  删除存储过程 356
22.6  小结 356
第23章  函数 357
23.1  创建函数 357
23.1.1  创建函数的语法规则 357
23.1.2  函数体中的RETURN子句 358
23.1.3  创建有输入参数的函数 359
23.1.4  创建有输出参数的函数 360
23.1.5  创建有输入输出参数的函数 361
23.1.6  创建记录类型作为返回值的函数 362
23.1.7  创建集合类型作为返回值的函数 362
23.2  调用函数 363
23.2.1  调用无参数的函数 363
23.2.2  调用带有输入参数的函数 364
23.2.3  调用带有输出参数的函数 365
23.2.4  调用带有输入输出参数的函数 365
23.2.5  调用返回值为记录类型的函数 365
23.2.6  调用返回值为集合类型的函数 366
23.3  参数传递 367
23.3.1  使用参数位置传递参数值 367
23.3.2  使用参数名称传递参数值 367
23.3.3  使用参数名称和位置传递参数值 367
23.4  函数在SQL中的应用 368
23.4.1  纯度规则 368
23.4.2  在SQL中调用函数 369
23.5  删除函数 370
23.6  存储过程与函数 370
23.7  小结 371

第24章  包 372
24.1  创建包 372
24.1.1  创建包说明 372
24.1.2  创建包体 373
24.2  调用包中的公有元素 376
24.3  在包中使用重载 377
24.4  删除包 379
24.5  系统包 380
24.5.1  生成并发送报警信息的包DBMS_ALERT 380
24.5.2  输入和输出信息的包DBMS_OUTPUT 382
24.5.3  进行管道通信的包DBMS_PIPE 383
24.5.4  安排和管理PL/SQL语句块的包DBMS_JOB 387
24.5.5  处理LOB数据类型数据的包DBMS_LOB 389
24.6  小结 393
第25章  触发器 394
25.1  触发器简介 394
25.1.1  触发器的类型 394
25.1.2  触发器的用途 395
25.1.3  触发器的限制 395
25.2  创建DML触发器 396
25.2.1  创建语句触发器 396
25.2.2  创建行触发器 398
25.2.3  触发器谓词 400
25.3  创建DDL触发器 401
25.4  创建INSTEAD OF触发器 401
25.5  创建事件触发器 402
25.5.1  事件属性函数 403
25.5.2  创建系统事件触发器 405
25.5.3  创建用户事件触发器 407
25.6  管理触发器 407
25.6.1  禁用触发器 407
25.6.2  激活触发器 408
25.6.3  重新编译触发器 408
25.6.4  删除触发器 408
25.7  小结 409
第七篇  SQL应用
第26章  SQL语句性能优化 411
26.1  适当创建索引 411
26.2  优化查询语句 412
26.2.1  避免在SELECT语句中使用“*” 412
26.2.2  调整WHERE子句中连接条件的顺序 412
26.2.3  避免使用OR关键字 413
26.2.4  避免使用<>和!= 操作符 414
26.2.5  相关子查询中使用EXISTS关键字代替IN关键字 414
26.2.6  使用LIKE关键字 415
26.2.7  避免使用HAVING子句 416
26.2.8  使用存储过程 416
26.3  规范SQL语句书写格式 416
26.4  小结 417
第27章  动态SQL 418
27.1  使用EXECUTE IMMEDIATE语句处理单行查询 418
27.2  使用游标变量处理多行查询 420
27.2.1  定义游标变量 420
27.2.2  打开游标变量 420
27.2.3  从游标变量取得数据 421
27.2.4  关闭游标变量 422
27.2.5  动态处理多行查询 422
27.3  批量绑定 423
27.3.1  使用FORALL语句批量绑定 423
27.3.2  使用EXECUTE IMMEDIATE语句批量绑定 424
27.3.3  使用FETCH 语句批量绑定 425
27.4  使用DBMS_SQL包实现动态SQL 426
27.4.1  DBMS_SQL包中常用存储过程和函数 426
27.4.2  使用DBMS_SQL包实现动态SQL的查询操作 427
27.4.3  使用DBMS_SQL包实现动态SQL的DML操作 428
27.4.4  使用DBMS_SQL包实现动态SQL的DDL操作 429
27.5  小结 430
第28章  数据库的存取访问 431
28.1  数据库应用系统结构 431
28.1.1  集中式数据库系统 431
28.1.2  客户端/服务器端数据库系统 432
28.1.3  并行式数据库系统 432
28.1.4  分布式数据库系统 433
28.2  数据库连接访问 433
28.2.1  ODBC 433
28.2.2  OLE DB 433
28.2.3  ADO 434
28.2.4  JDBC 434
28.3  Java与MySQL 5.0数据库连接与访问 435
28.3.1  Java开发环境 435
28.3.2  安装Eclipse 437
28.3.3  添加MySQL 5.0驱动程序 439
28.3.4  Java与数据库的连接过程 439
28.4  Java与MySQL 5.0数据库开发 440
28.4.1  查询数据 440
28.4.2  更新数据 442
28.5  小结 444
附录A  常用SQL语句 445
附录B  常用函数对照 450

教学资源推荐
作者: [澳]杰夫瑞·艾文(Jeffrey Aven) 著
作者: 蔡自兴
作者: [美]托马斯·埃尔(Thomas Erl)[英]扎哈姆·马哈茂德(Zaigham Mahmood)[巴西]里卡多·帕蒂尼(Ricardo Puttini)著
作者: 黄传河
参考读物推荐