欢迎来到天天文库
浏览记录
ID:50485529
大小:125.00 KB
页数:38页
时间:2020-03-09
《数据库系统原理与应用教程(第二版) 教学课件 作者 7-302-0815-6ch09.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章SQL语言初步本章概述本章的学习目标主要内容1本章概述前面讲过的关系代数和Datalog语言虽然可以执行数据库的查询,但是他们都是一种形式化的语言,表示了从数据库中提取数据的过程。但是,这些语言不能真正地从数据库的关系实例中提取数据。这些关系代数和Datalog语言都是理论上的查询语言,是实际的查询语言的理论技术。本章和下一章将要介绍的SQL语言,是一种被众多数据库产品广泛使用的实际的查询语言。按照SQL语言语法编写的各种查询语言可以在数据库中执行各种数据操纵、定义、控制等操作。本章将要对SQL语言的产生背景、SQL检索和更新语言、SQL定义语言等内容进行详细的介绍,下一章将详细介绍
2、有关SQL语言的高级特征,例如约束、触发器、游标以及嵌入式语言等内容。2本章的学习目标了解SQL语言的发展过程;掌握使用SQL语言检索数据的基本技能;掌握连接、子查询等高级查询技术;掌握数据更新技术;掌握各种数据定义语言的功能和涉及的对象;掌握SQL语言的递归查询技术。3主要内容9.1概述9.2简单查询语句9.3高级查询语句9.4数据库更新语句9.5数据定义语句9.6递归查询9.7动手练习9.8本章小结49.1概述SQL是结构化查询语言(StructureQueryLanguage)的简称,是关系型数据库管理系统中最流行的数据查询和更新语言。用户可以使用SQL语言在数据库中执行各种操作司的
3、SanJose研究所提出的,该语言的最初名称是Sequel。1986年,国际标准化组织(InternationalStandardOrganization,ISO)和美国国家标准协会(AmericanNationalStandardsInstitute,ANSI)共同发布了第一个SQL标准,即SQL-86,该标准也称为SQL-1。1992年,ISO和ANSI对SQL-86进行了重新修订,发布了第二个SQL标准,即SQL-92,该标准也称为SQL-2。SQL-2标准文本有600多页。5SQL查询语言SQL查询语言包括了所有对数据库的操作,这些操作可以分为四个部分,即数据定义语言、数据操纵语言
4、、数据控制语言和嵌入式SQL语言。其功能如下所示:数据定义语言(DataDefinitionLanguage,DDL)主要是定义数据库的逻辑结构,包括定义基本表、视图和索引。从用户的角度来看,基本的DDL包括三类语言,即定义、修改和删除。数据操纵语言(DataManipulationLanguage,DML)包括数据检索和数据更新两大类操作,其中数据更新包括插入、删除和修改三种操作。数据控制语言(DataControlLanguage,DCL)包括基本表和视图的授权、完整性规则的描述以及事务开始和结束等控制语句等。嵌入式SQL语言规定了SQL语句在宿主语言程序中使用的各种规则。6主要内容9
5、.1概述9.2简单查询语句9.3高级查询语句9.4数据库更新语句9.5数据定义语句9.6递归查询9.7动手练习9.8本章小结79.2简单查询语句本节主要介绍最简单的一些查询语句。查询语句的执行离不开数据库模式实例,如图9-2所示的数据库模式实例正是前面我们一直使用的图书管理数据库模式。我们使用的SQL查询示例都与该数据库模式有关。8最简单的查询语句SQL语言中的查询语句使用SELECT语句来执行。在SELECT语句中,最常用的三个关键字分别是SELECT、FROM和WHERE。SELECT子句用于指定属性的名称,只有指定的属性才能在查询集中出现。不过有一点例外,如果希望检索到关系中的所有属
6、性信息,那么可以使用星号(*)来代替列出所有的属性名称,且列出的属性顺序与关系模式定义的属性顺序相同。FROM子句用于列出查询所涉及的关系名称。在本章后面将会看到,在FROM子句中不仅仅可以列出一个关系的名称,而且可以列出许多关系的名称。当然,列出的关系名称都是将要查询的对象。WHERE子句用于给出查询的条件,就像关系代数中的选择条件一样,只有匹配这些条件的元组才能出现在结果中。有关条件的构成形式,本章将会详细地讲述。在SELECT语句的这三个子句中,只有SELECT和FROM是必须出现的9投影在很多情况下,我们都是根据自己的需要来查询信息的。也就是说,可以把查询涉及的关系投影到某些属性上
7、面,这样可以减少结果中的没有意义的信息量。例如,假如我们不希望列出每一个元组的所有属性,而只是希望列出图书的书名、价格和出版社信息,那么可以使用如图9-5所示的查询语句。10选择在前面的那些示例中,没有使用关键字WHERE。关键字WHERE用来对关系中的元组进行条件选择,只有满足关键字WHERE中指定条件的元组才能出现在结果关系中。在关键字WHERE中构造表达式时,可以使用如表9-1所示的比较运算符。这些比较运算符与普通
此文档下载收益归作者所有