SQL语言

来自计算思维百科
跳转至: 导航搜索

SQL 全名是结构化查询语言(Structured Query Language),最早的是IBM的圣何塞研究中心为其关系数据库管理系统SYSTEM R开发的一种查询语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

1970年,IBM公司的埃德加·科德(Edgar F. Codd)(图 1)提出了关系型数据库的理论基础:关系数据库模型(relational model for database management)。为此,他获得了1981年图灵奖。1974年,IBM公司美国加利福尼亚州圣何塞市研究中心的D.D.Chamberlin和R.F. Boyce在关系数据库模型的基础上研制出一套规范语言SEQUEL(Structured English QUEry Language),并在1976年11月的IBM Journal of R&D上公布了SEQUEL/2。在1980年正式对外发表之前,因为SEQUEL已经是一家英国飞机公司的名字,所以改名为SQL。

10.7.1.png

图1 埃德加•科德(Edgar F. Codd)(来源于维基百科)

1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2数据库系统中也实现了SQL。1989年,美国ANSI制定了SQL标准语言,称为ANSI SQL 89,后来还制定了SQL 99等标准。不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。

SQL包含4个部分:

①数据查询语言(DQL-Data Query Language):SELECT语句;

②数据操纵语言(DML-Data Manipulation Language):INSERT、UPDATE和DELETE语句;

③数据定义语言(DDL-Data Definition Language):CREATE、 ALTER和DROP语句;

④数据控制语言(DCL-Data Control Language):COMMIT WORK和ROLLBACK WORK语句。

严格地说,SQL并不是一个完整的程序设计语言,它只包含了在关系型数据库中进行数据相关工作的功能。

PL/SQL 是Oracle数据库专用的一种高级数据库程序设计语言,它为SQL语言增加了控制结构,称为一种结构化程序设计语言。PL/SQL语言在将SQL语言的灵活性及功能与第三代语言的可配置能力相结合方面是独一无二的。该语言集成了面向过程语言的过程结构和强大的数据库操作,为设计复杂的数据库应用提供了功能强大、健壮可靠的程序设计语言。该语言专门用于在各种环境下对Oracle数据库进行访问。随着Oracle在数据库市场的垄断越来越强,PL/SQL也逐渐成为一种流行的数据库程序设计语言。