
第2章 Oracle数据库SQL语言基础
SQL(Structured Query Language,结构化查询语言)是目前关系数据库系统中通用的标准语言。
SQL早在20世纪70年代由Boyce和Chamberlin提出,并首先在IBM公司的数据库管理系统上实现,随后又在IBM的DB2上实现,并获得了巨大的成功。后来美国标准化组织和国际标准化组织先后将SQL作为关系数据库系统的标准语言,从此,SQL得到发展的机会。到目前为止,包括Oracle、Sybase等在内的几乎所有大型数据库系统都支持SQL。
SQL在字面上虽然称为结构化查询语言,实际上它还包括数据操纵、数据定义、事务控制、安全控制等一系列命令。SQL操作的基本对象是表,也就是关系。它可以对表中的数据进行查询、增加、删除、修改等常规操作,还可以维护表中数据的一致性、完整性和安全性,能够满足从单机到分布式系统的各种应用需求。
SQL是一种非过程化的语言,用户在使用SQL操作数据时,只需告诉系统做什么,而不需要关心怎么做,系统会根据用户的意图自动完成相应的操作。由于SQL的这一特点,它被称为“第四代语言(4GL)”,以区别于面向过程的高级语言。
用SQL语言编写的SQL语句有两种执行方式:一种是联机交互方式,SQL语句在一定的平台上执行,例如数据库管理系统提供的实用程序。这个执行平台将SQL语句提交给数据库服务器,并将从数据库服务器返回的执行结果显示给用户;另一种方式是嵌入方式,用户在用C/C++、Java等高级语言编写应用程序时,可能需要操作数据库中的数据,这时SQL作为一种嵌入式语言,嵌入到高级语言程序中,通过数据库接口如ODBC、JDBC访问数据库中的数据。
SQL包括一系列命令,可以满足对数据的各种访问。按照通用的分类标准,SQL命令类型如表2-1所示。
表2-1

续上表

命令和相关的参数一起构成了SQL语句。本章将对这些命令分别进行详细的介绍。
声明:本书中的SQL指令只限于SQL*Plus及SQL Developer环境。为了显示数据直观的需要,有些SQL指令会放在SQL Developer中执行;有些则在SQL*Plus中执行,特此声明!