2.1 SQL语言介绍
SQL作为关系数据库中操作的标准语言,集数据定义语言(Data Definition Language,DDL)、数据查询语言(Data Query Language,DQL)、数据操作语言(Data Manipulation Language,DML)、数据控制语言(Data Control Language,DCL)和事务控制语言的功能于一体。SQL语言主要用于完成对数据库的操作,例如查询、增加、修改、删除数据,创建和删除数据库对象,修改表结构等。
SQL语言可以作为大部分数据库的共同数据存取语言和标准接口,其中比较常用的数据库包括Oracle、Microsoft SQL Server、MySQL、PostgreSQL、DB2、Microsoft Access等。这些数据库系统都可以使用SQL语言执行数据的操作。
SQL标准最早是基于IBM的实现由美国国家标准化组织ANSI(American National Standards Institute)在1986年批准的,1987年国际标准化组织ISO(International Standards Organization)将其作为国际标准采用。在1992年ISO对其进行了修订,1999年又再次进行了修订,目前最新的标准是SQL2003。
不同厂商的SQL产品及其关系数据库管理系统在SQL的实现上大部分是与SQL标准相兼容的,但是它们也并不是完全按照这个标准来实现,因此不同厂商生产的关系数据库系统在SQL的实现上还是有所差异的。另外,不同厂商生产的关系数据库系统都对SQL做了不同程度的扩展,目前流行的对标准SQL的扩展版本主要有两个:PL/SQL和Transact-SQL。
❑PL/SQL是基于Oracle数据库的通信语言,Oracle公司已经将PL/SQL语言集成到Oracle的服务器中,它可以运行在任何的Oracle开发环境中。许多厂商也提供了基于Oracle数据库的专用的访问工具,比较常用的包括TOAD、Navicat和PL/SQL Developer。
❑Transact-SQL是基于Sybase数据库与Microsoft SQL Server数据库中的数据库通信语言。其主要的运行环境是SQL Server Management Studio和SQLCMD。其中SQLCMD是一个命令行脚本工具,作为SQL Server数据库的访问工具,它可以在数据库服务器的任何目录路径下的命令行提示符窗口中执行。
本书中讲解的SQL语言是以SQL92为标准,并兼顾目前主流数据库中在使用SQL语句执行某些操作上的差异。另外也会介绍一些SQL99中新增加的内容,例如BOOLEAN等数据类型、集合操作、触发器创建和操作等。