数据库系统及应用(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 数据库语言

数据库系统提供了4种不同类型的语言:数据查询语言(Data Query Language)、数据定义语言(Data Definition Language)、数据操纵语言(Data Manipulation Language)和数据控制语言(Data Control Language)。其中,数据查询语言主要用来查询数据;数据定义语言用于定义、撤销和修改数据模式,如表、视图、索引;数据操纵语言用于增、删、改数据;数据控制语言用于数据访问权限的控制。

1.5.1 四大数据库语言

1.数据查询语言(DQL)

数据库查询语言是用户用于从数据库中请求获取信息的语言。它可以分为过程化语言和非过程化语言。在过程化语言中,用户指导系统对数据库执行一系列操作以计算所需结果。在非过程化语言中,用户只需描述所需信息,而不用给出获取该信息的具体过程。

目前,有很多商业性的或者实验性的数据查询语言,如现在使用最广泛的结构化查询语言。

2.数据定义语言(DDL)

数据定义语言用来定义数据的结构,如创建、修改或者删除数据库对象。

3.数据操纵语言(DML)

用户通过数据操纵语言可以实现对数据库中的数据进行追加、插入、修改、删除、检索等操作。主要包括:向数据库中插入新的信息、从数据库中删除信息和修改数据库中存储的信息。

不同的DBMS语言的语法格式也不相同,以其实现方式可分为两个类型:一类是DML可以独立交互使用,不依赖于任何程序设计语言,称为自主型语言;另一类是宿主语言DML,嵌入到宿主语言中使用,如嵌入C、JAVA等程序设计语言中。在使用高级语言编写应用程序时,当需要调用数据库中的数据时,则要用DML语句来操纵数据。

4.数据控制语言(DCL)

数据控制语言用来授予或回收访问数据库的某种权限,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。

1.5.2 结构化查询语言SQL

结构化查询语言SQL(Structured Query Language)是关系数据库的标准语言。它是一种高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同的底层结构。不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出。这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能。在多数情况下,在其他语言中需要一大段程序实现的功能,而在SQL语言中只需要一条SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂功能的语句。

SQL集数据查询、数据定义、数据操纵和数据控制功能于一体,是一个通用的、功能极强的关系数据库语言。它包含4个部分:

(1)数据查询语言(DQL)

例如:SELECT语句。

(2)数据定义语言(DDL)

例如:CREATE、DROP、ALTER等语句。

(3)数据操作语言(DML)

例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

(4)数据控制语言(DCL)

例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

本书第3章将对SQL进行更为详尽的介绍。