SQL是Structured Query Language的缩写,译为“结构化查询语言”,它是关系数据库的标准语言。数据库
按功能划分,SQL语言能够分为四类:安全
数据查询语言(Data Query Language, DQL)并发
数据定义语言(Data Definition Language, DDL)post
数据操纵语言(Data Manipulation Language, DML)ui
数据控制语言(Data Control Language, DCL)spa
SQL语言的发展设计
1974年由Boyce和Chamberlin最初提出,3d
1979年被IBM公司在其关系数据库系统System R上首先予以实现。对象
1986年10月,美国国家标准化学会(ANSI, American National Standards Institute)公布了第一个SQL标准,称为SQL-86。blog
1987年6月,国际标准化组织(ISO, International Standards Organization)也接纳了这一标准,并对其做进一步的完善。完善工做于1989年4月完成,结果造成了所谓的SQL-89标准。
在SQL-89标准的基础上,ISO和ANSI联手对SQL进行研究和完善,于1992年8月又推出了新的SQL标准——SQL-92(SQL2),1999年推出SQL-99(SQL3),2003年进一步被扩充为SQL-2003,使其兼容XML语言。
现在,几乎全部的数据库产品厂商都推出了各自的支持SQL语言的关系数据库软件产品,如DB二、Oracle、SQL Server等,或者提供了支持SQL语言的接口。
除了SQL之外,还有其余相似的一些数据库语言,如QBE、Quel、Datalog等,但这些语言仅限于少数专业的数据库研究人员使用,并非主流语言。事实上,SQL是迄今为止最受欢迎的关系数据库语言之一,目前尚未出现可以与之相媲美的同类语言。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,是一种通用的、功能强大而又简单易学的关系数据库语言。
特色:
(1)高度非过程化语言
非关系数据模型的数据操纵语言都是面向过程的语言,在使用时必须指定存储路径。SQL是一种高度非过程化的语言,它一次执行一条命令,对数据提供自动导航。SQL不要求用户指定对数据的存放方法,只要求用户提出要“干什么”,至于“怎么干”,用户就不用管了,而由系统自动完成。
(2)统一的数据库操做语言
SQL语言风格统一,用于建立数据库、定义关系模式、完成数据的查询、修改、删除、控制等操做。为数据库应用系统的开发提供了良好的环境。在数据库投入运行之后,可使用SQL语言实现数据库重构,在必定程度上知足用户不断发展的需求,同时不影响数据库的正常运行,使数据库系统具备良好的可扩展性。
(3)关系数据库的标准语言
SQL成为国际标准之后,因为绝大多数的数据库厂商都支持SQL,因此SQL能够用于各种数据库管理系统,从而使它成为关系数据库的标准语言。全部用SQL编写的程序都是能够在不一样的系统中移植,同时也结束了数据库查询语言“各自为政的分割局面”。
(4)面向集合的数据操纵语言
非关系数据模型的数据操纵语言通常是面向记录进行操做的,即每一次操做都是针对一条记录进行的。若是要对多条记录操做,则必须循环进行。而SQL则面向集合的方式进行操做,即每一次操做是针对全部知足条件的元组组成的集合进行,操做所产生的结果也是元组的集合。
(5)可嵌入式的数据库语言
SQL语言不但能够在交互方式下以命令的形式执行,还能够嵌入到其余的高级语言中。在交互方式下,用户能够在终端键盘上直接键入SQL命令对数据库进行操做;做为可嵌入式的数据库语言,SQL语言可嵌入到像C、COBOL、FORTRAN、VB、PowerBuilder、Delphi等这种高级语言中,经过程序调用来实现对数据库的操做。无论是在交互方式下仍是在嵌入方式下,SQL语言的语法结构基本上都同样,这使得对数据库的操做变得更为灵活和方便。
(6)简单易学
SQL语言的语法结构比较简单,调用格式很是简洁。所使用命令的核心关键字才包括9个:CREATE、ALTER、DROP、GRANT、REVOKE、SELECT、INSERT、UPDATE、DELETE 。并且其语法接近英语口语,方便理解和记忆。
四大功能介绍:
(1)数据查询功能
经过SELECT语句完成。SELECT语句的功能很是强大,表达形式很是丰富,能够完成不少复杂的查询任务。SQL语言的最初设计就是用于数据查询,这也是它之因此称为“结构查询语言(Structured Query Language)”的主要缘由。
(2)数据操纵功能
经过INSERT、UPDATE、DELETE 语句完成。INSERT、UPDATE、DELETE 语句分别用于实现数据插入、数据更新和数据删除功能。
(3)数据定义功能
经过CREATE、ALTER、DROP语句来完成。CREATE、ALTER、DROP语句分别用于定义、修改和删除数据库和数据库对象,这些数据库对象包括数据表、视图等。
(4)数据控制功能
经过GRANT、REVOKE语句来完成。数据控制主要是指事务管理、数据保护(包括数据库的恢复、并发控制等)以及数据库的安全性和完整性控制。
四种功能与SQL语句的对应关系如表5.1所示: