跳到主要内容
版本:Next

结构化查询语言(SQL)介绍

SQL是对关系数据库管理系统进行查询和操作的语言。是对关系代数的一种具体实现(可能并不包含关系代数中的所有操作)。SQL包含两个主要部分:

  • 数据定义语言(Data Definition Language,DDL),用于定义数据库结构和数据的访问控制。

  • 数据操作语言(Data Manipulation Language, DML),用于检索和更新数据。

SQL是非过程化语言,用户只需描述所需的信息,不需要给出获取该信息的具体过程,即SQL不需要指定数据的访问方法。

SQL简单查询举例

SQL中最简单的查询是找出关系中满足特定条件的元组。简单查询使用代表SQL特点的三个保留字SELECT、FROM和WHERE来表示。例如,从关系weather中找出杭州在2020-07-01这天的天气信息,其SQL语句为:

 SELECT * FROM weather
WHERE city = '杭州' AND date = DATE '2020-07-01';

该查询展示了大部分SQL查询语句的典型格式,即select-from-where形式。

  • FROM子句给出查询所引用的关系,在本例中查询引用的关系是weather。

  • WHERE子句是一个条件子句,就像关系代数中的选择条件。和查询匹配的元组必须满足此条件。在本例中,条件是元组的city属性(值为'杭州')和date属性(值为DATE '2020-07-01')。

  • SELECT子句决定满足条件元组的哪些属性应该在结果中列出。例子中的*表示列出元组的所有属性。

需要了解更多的关于SQL语言方面的内容,推荐查阅《Database in Depth》。