SQL语句学习教程
- 格式:doc
- 大小:328.00 KB
- 文档页数:53
目录概述 (2)第一章SQL*PLUS 工具软件的使用 (6)第二章基本查询 (10)第三章条件查询 (14)第四章单行函数 (17)第五章多表查询 (21)第六章组函数 (24)第七章子查询 (26)第八章运行期间指定变量 (30)第九章创建基表 (32)第十章ORACLE数据字典 (37)第十一章操纵数据 (39)第十二章修改基表及其约束 (44)第十三章创建序列 (47)第十四章创建视图 (49)第十五章创建索引 (52)概述20世纪70年代初,E.F.Codd 在计算机学会(Association of Computer Machinery, 简写为ACM)期刊Communications of the ACM(ACM 通讯)发表了题为”A Relational Model of Data for Large Shared Data Banks”(大型共享数据库的数据关系模型)的论文,该论文提出的关系数据库模型成为今天最为权威的关系型数据库管理模型。
IBM公司首先使用该模型开发出了结构化英语查询语言SEQUEL(Structured English Query Language),作为其关系数据库原型System R的操作语言,实现对关系数据库的信息检索。
SEQUEL后来简写为SQL,即Structured Query Language(结构化查询语言)的缩写。
ORACLE公司于1997年推出了第一个商业应用的SQL软件。
20世纪80年代初,美国国家标准化组织(ANSI)开始着手制订SQL标准,最早的ANSI标准于1986年颁布,它也被称为SQL-86。
标准的出台使SQL作为标准的关系数据库语言的地位得到加强。
SQL标准几经修改和完善,目前SQL 语言方面新的ANSI标准是1992年制定的ANSI X3.135-1992,“Database Language SQL”。
此标准也被国际电工委员会(International Electro technical Commission, 即IEC)所属的国际标准化组织(International Standards Organization, 即ISO)所接受,并将它命名为ISO/IEC9075:1992, “Database Language SQL”。
这两个标准又被简称为SQL-92。
SQL是目前使用最广泛的数据库语言,就象SQL的名字一样,我们可以通过容易理解的查询语言,来和数据库打交道,从数据库中得到我们想要的数据。
对于SQL语言,由下列四个组成部分:DML(Data Manipulation Language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。
DDL(Data Definition Language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
DCL (Data Control Language):包括GRANT,REVOKE,主要用于对用户权限的授权和回收。
Database Transactions:包括COMMIT, ROLLBACK, SAVEPOINT,主要用于对事务的提交,回收和设置保存点。
了解这四个部分的不同对于你今后使用时有很多方便,因为许多SQL语言中的约束也是根据这个分类来划分的,比如:你在ORACLE中建立数据库链,那么只有DML类语言能对链接的数据库进行操作。
SQL作为一个ANSI标准,一直在不断改进,现在最新的标准是SQL99。
ORACLE不但对标准的SQL完全兼容,而且有自己更为方便的增强SQL,所以这里介绍的主要是ORACLE8i中使用的SQL语句。
ORACLE的今天今天,座落在加利福尼亚Redwood Shores 的ORACLE公司为电子信息管理提供软件产品和服务。
ORACLE是一个世界范围的软件提供者,1999年的收入将超过80亿美元。
ORACLE的业务遍及世界90多个国家,其软件在100多种不同的计算机上运行,在信息高速公路中扮演着一个重要的角色。
ORACLE是采用Internet计算模式的倡导者之一,在该模式下,组织者为分布式应用配置了万维网。
Internet是发布应用的理想基础设施。
在给定的组件为基础的模型中,Internet是将分散应用集成起来的理想场所,比较三层客户/服务器计算体系而言,Internet也是这些系统的理想场所。
构成此模型的三层为:●客户层有时称为表达层,既显示信息给用户,同时接收输入的要处理的信息。
●应用层所有的处理都将按系统实现的逻辑在该层进行。
商业规则的加强、数据一致性的检查系统所需的复杂处理都在该层进行。
此层是三层模型中处理事务最多的一层。
●数据层通常称为back end,是为满足其它两层的需求而存储信息。
在很多情况下,在用户同系统交互时,关系数据库将优化从应用层接收到的以及返回给应用层的信息。
ORACLE集团不遗余力地将最新的技术提供给客户。
对未来技术发展趋势预见能力以及较早地拥有关键技术,不仅使得ORACLE得以生存,更使其在竞争中遥遥领先。
ORACLE Server 是这一切的基石。
接下来看一下ORACLE8i Server 以及是如何围绕它开发出一系列产品的。
为什么ORACLE能取得现在的地位ORACLE的很多显著特征使得它走在日益发展的信息管理群体前列,信息技术不是一成不变的,接下来看一下其中的(但决非全部的)特性:1. 决策支持系统决策支持系统即DSS,扮演着一个重要角色。
到处可以看到组织者发布以ORACLE Server 为基础的数据仓库的种种信息。
对数据仓库的兴趣及其使用的与日俱增使得ORACLE Server 及其相关的联机分析处理(OLAP)产品成为管理的首选。
随着Express及ORACLE Discoverer 等决策支持工具的开发,ORACLE 已经不管在现在, 还是在将来都确立了其在该领域的地位。
2. 海量数据管理数据库系统操作的硬件瞬息万变,去处理器或磁盘市场购买最快和功率最强的CPU,刚购买到,技术又进步了。
ORACLE一直对海量数据的管理非常重视,在版本7.3 (circa 1997)中为此采用了数据分区的办法。
采用数据分区后,海量数据分成很多可管理的块,当系统操作或用户会话处理查询时又能透明地将分块的数据组织起来。
3. 保密机制ORACLE的高级保密机制通过各种各样的特权,控制对敏感数据的存取。
用户根据连接到数据库的名称被赋予各种特权,如查看、修改和创建数据库等等。
用这些机制来保证某些用户能查看敏感数据,而有的用户被禁止。
4. 备份与恢复ORACLE提供了高级备份和恢复的子例程。
备份创建ORACLE数据的一个副本,恢复把备份的数据恢复出来。
ORACLE的备份和恢复把数据丢失的可能性降到最小,并使出现故障时的排错时间最少。
ORACLE的服务器也提供了备份和恢复的机制,允许每天、每周、每年不间断地访问数据。
5. 空间管理ORACLE提供了灵活的空间管理。
用户可以为存放数据分配所需磁盘空间,也可以通过指示ORACLE为以后的需求留下多少空间来控制后继的分配。
还有一系列为大型的数据库考虑而设计的特殊功能。
事实上,在ORACLE8和ORACLE7.3中许多功能都是为数据仓库的考虑而设计的。
从设计角度来说,数据仓库是典型的非常大的数据库。
6. 开放式联接ORACLE提供和其他软件联接的开放式接口。
使用ORACLE Access Manager,用户很容易就能将别的软件商开发的软件所运行的系统集成起来。
例如,使用IBM的AS/400平台的管理器,用户在应用中采用如COBOL和C的第三代、第四代语言就能透明地访问ORACLE数据,也支持PL/SQL ,从用户的AS/400应用程序中可以调用远程的ORACLE存储过程。
使用Access Manager 配之以ORACLE的透明网关,企业管理者就可以保护其已经在IBM 软硬件上的投资。
Access Manager驻留在非ORACLE数据库的机器上,用户数据由所在的操作系统决定,工业标准SQL 在下列方面支持ORACLE数据库:●DDL 即数据定义语言语法适用于对ORACLE数据库对象的定义(如CREATE TABLE或CREATE INDEX)、修改一个或多个用户的特权(如GRANT SELECT ON)或操纵支持ORACLE8i 的基础组件(如ALTER TABLESPACE)。
●DML 即数据操纵语言用于产生新的数据(如INSERT INTO)、处理已存在的数据(如UPDATE)、删除已存在的行(如DELETE)、或者是用非常熟悉的SELECT关键字简单地查看数据。
Access Manager 能便捷地从Computer Associate的IDMS、Datacom、Ingres、Microsoft 的SQL Server、Informix、Teradata的EDA/SQL、Sybase和IBM的CICS中访问数据。
7. 开发工具ORACLE Server通常指数据库引擎,支持一系列开发工具、终端用户查询工具、流行的应用以及办公范围内的信息管理工具。
ORACLE Form 和ORACLE report 是ORACLE提供开发工具的核心,与Web相连进行发布并利用Internet计算的三层体系结构。
ORACLE企业开发套件中捆绑了一些组件,使得发布灵活、操作性强、易于维护,很容易开发出不同层次的应用。
套件中有如下四个主要组件:●ORACLE Designer 用于定义系统元素(也就是数据源及其之间的关系),生成应用和定义数据库。
●ORACLE Developer 是一个快速应用开发环境,用于建立交互应用、事务处理或联机事务处理为基础的系统。
●ORACLE Developer Server 是一个强壮的为多层次提供的开发环境。
●ORACLE Application Server 是一个公开的解决方案,它是为分布式事务应用处理而设计的。
ORACLE8i 服务器ORACLE8 i 服务器是一个完善的信息管理环境。
它是一个大量数据的储藏所,并给用户提供对这些数据的快速访问。
ORACLE8i 服务器允许应用系统之间共享数据。
信息存放在一个地方并由许多应用系统来使用。
ORACLE8I 服务器可运行在Sun系列以及Windows NT上。
ORACLE8i 服务器运行在很多不同的计算机上,支持下列配置:●基于主机的配置用户直接连到存放数据库的同一计算机上。