SQL语句基本知识.ppt_第1页
SQL语句基本知识.ppt_第2页
SQL语句基本知识.ppt_第3页
SQL语句基本知识.ppt_第4页
SQL语句基本知识.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章关系数据库语言SQL、教学内容SQL概述SQL的数据定义SQL的数据查询SQL的数据更新嵌入式SQL教学要求了解SQL语言的特点和基本概念,着重把握SQL语言的基本功能,用SQL语言查询和更新数据库视图、表和其他高级功能以SQL语言创建。 教育侧重于SQL语言的基本功能。 教学难点SQL的数据查询。4.1 SQL语言概述、4.1.1 SQL的生成与发展、1970年,提出相关模型。 1972年、SQUARE语言1974年、SEQUEL; 1986年,美国提出了数据库的SQL语言,1987年,国际化标准化组织被采用为国际标准,被称为“SQL86”。 1989年,SQL89 1992年,SQL

2、2 1999年,SQL3。4.1.2 SQL的特征、一体化高级非过程化两种使用方式用户性能好的功能支持所有数据库管理系统的通用语言、4.1.3 SQL语言的基本构成、SQL语言支持相关数据库的三级模式结构,如图6.1所示。 的双曲馀弦值。 (1)外部模式对应于视图和一些基本表;(2)模式对应于基本表;(3)内部模式对应于存储文件;(3)在SQL中,表分为两类。 一个称为基表(basetable ),其数据显式存储在数据库中。 另一个称为视图,是具有逻辑定义的虚拟表,是从一个或多个基表(或视图)导出的表。 视图本身不会作为表显式存储在数据库中。 每个基表对应一个存储文件,一个表可以有多个索引,索

3、引也存储在存储文件中,存储文件和索引构成关系数据库的内部模式。 中的组合图层性质变更选项。 主要由1.ddl(datadefinitionlanguage )用于定义、撤消和修改数据模式的三个部分组成。 2、数据操纵语言(DML )主要由两部分组成: (1)数据查询语言(QL ),用于进行数据查询。 (2)用于添加、删除、修改数据的数据更新语言。 3 .数据控制语言(DCL )用于对数据访问权利的控制、完整性描述、事务控制等。4.1.4 SQL语言的基本数据类型、4.2数据定义、4.2.1基本表的操作、1 .定义基本表和定义基本表的语句格式是CREATE TABLE (列级完整性约束条件、列级

4、完整性约束条件)。 说明: (1)是所定义的基本表的名称,可由一个或多个属性(列)组成。 (2)列级的完整性的制约主要是NOT NULL,规定一个属性的值不允许null,省略的话可以允许该属性的值表示null (3)在完整性制约中主要是有主关键字(PRIMARY KEY )这3个种子句的检查子句(CHECK ) 外键子句(FOREIGN KEY )。 例4-1 :图书编号B#、书名Title、作者Author、图书分类编号T#、出版社编号P#、单价Price、复印数CopyNumber、库存量中,图书编号、出版社编号不能为空栏,图书编号的值是唯一的。 创建表格手册(b # char (6) n

5、ot null、标题手册(60 )、自动手册(30 )、手册类型手册(2)复印编号智能,存储智能,精细PRIMARY KEY(B# ),2 .修改基本表和修改基本表说明: (1)是要修改的基本表(2)ADD子语句用于添加新列和新的完整性约束条件(3)DROP子句用于删除指定的完整性约束条件(3) 例4-2 :将书表Book的复制数列的数据类型从短更改为长。altertablebookmodify (altercolumn ) copynumberintcopynumberint注: alter column,3 .要删除基表,删除基表的语句的格式如下: droptt因此,执行删除基表的操作时要

6、十分小心。 例4-3 :删除图书目录。DROP TABLE Book、4.2.2索引的创建和删除、1 .索引的创建、CREATE UNIQUE CLUSTER INDEX ON (、顺序2 ); 说明: (1)是要编制索引的基表的名称;(2)索引可以编制在表的一列或多列中。 各列名用逗号分隔(3)规定索引值的排列顺序,为升序(ASC )或降序(DESC ),缺省值为ASC (4) unique,创建的索引值仅对应唯一的数据记录对应的列必须是主关键字(5)CLUSTER表示要创建的索引是簇索引。 例4-4 :建立图书表Book、借用者表Reader的索引。 其中,Book表按图书编号的升序创建唯

7、一的索引,Reader表按读者编号的降序创建唯一的索引。createuniqueindexbook _ indexonbook (b # ) createuniqueindexreader _ indexonreader (r # desc )和2 . 示例4-5 :删除book表中的Book_Index索引。 DROP INDEX Book_Index,4.3数据查询,4.3.1 SELECT语句的一般格式,SELECT DISTINCT,FROM,基本表名2或视图名2wheregroupbyhavingorder (2)表中的可以使用(1)算术比较运算符:、 (2)逻辑运算符: AND,O

8、R,NOT; (3)集合运算符: UNION (并行)、INTERSECT (正交)、EXCEPT (差); (4)集合成员资格算符: IN,NOT IN; (5)谓语:存在量词、ALL、ANY、UNIQUE; (6)集合函数:计数、求和、平均值、最大值、最小值; (7)也可以是其他的SELECT语句(即,SELECT语句可以嵌套)。 4. SELECT和FROM子句是每个SQL语句所必需的,其他子句是可选的,整个语句的含义是:根据WHERE子句的条件表达式,从FROM子句中指定的基表或视图中找到满足条件的元组,然后按SELECT子句的目标列表达式,以获得元组如果存在GROUP子句,那么结果就

9、能够为每个指定的组生成结果表的一组,这通常允许HAVING在每个组中作用库函数,以便存在ORDER子句,在将查询结果分组并输出时,仅输出满足条件的组以本借用者数据库为例,说明SELECT语句的各种使用方法。 书-借用者数据库包含六个表。 书籍编号(B# )、标题(Title )、作者(Author )、书籍类型(P# )、价格(Price )、复印编号(CopyNumber )、存货(Stocks )、精细(Fine )、新书(isnew )书籍(2) .出借卡表Card(C#,R#) Card由出借卡号(C# )、读者号(R# )这两个属性构成,其中C#是主键,R#是外键。 借用者名单Rea

10、der(R#,Name,IsStudent,Password,Borrowed,Email ), 电话号码读取器是学生编号() (4) .借用表Lending(L#、R#、B#、浏览日期、IsRenewed、RenewingDate、IsReturned、ReturningDate) Lending是流水出版社表Publisher (P#,Publisher) Publisher由编号(P# )、出版社名(Publisher )这两个属性构成,其中P#是主键。 (6) .图书分类表Type(T#,Type) Type由编号(T# )、分类编号(Type )这两个属性构成,其中T#是主键。4.3

11、.2单表查询,1 .要选择查询表中的所有属性列,可以(在选择关键字之后列出所有属性列名称,可以在选择关键字之后加上* ) 例4-6 :查询图书馆内所有书籍的详细记录。SELECT * FROM Book,等价: SELECT B#、Title、Author、BookType、P#、Price、CopyNumber、Stocks,示例4-7 :查找图书馆中所有书籍的书号和书名。SELECT B#、Title FROM Book、3 .查询指定列的不同元组两个原来完全不同的元组,投影到指定的特定列后,可能成为同一行。 要删除结果表中的同一行,请在SELECT关键字之后添加DISTINCT关键字。

12、查一下借书的借书人号码。 假设,SELECT R# FROM Lending,查询的结果如下: 此查询的结果包含许多重复行,可以使用以下查询语句删除重复行: SELECT DISTINCT R# FROM Lending,4 .查询满足条件的元组可以在WHERE子句中实现,WHERE子句中常用的查询条件如右表所示。 (1)比较大小常用的比较运算符为: (大)、=(大)、=(等于)、(不等于)例4-9 :查阅图书馆出版社编号01出版的所有图书书名。SELECT Title FROM Book WHERE P#=01、(2)确认集合在IN(NOT IN )内寻找属性值属于(不属于)指定集合的元组。

13、 例4-11 :查阅图书馆出版社编号01、02、03出版的图书书名和单价。 选择title,pricefrombookwherep # in (01,02,03 ),(3)用决定范围的BETWEENAND(NOT BETWEENAND )寻找属性值的例子4-12 :图书馆的单价为2430元(包括24元和30元) 、SELECT Title、pricefrombookwherepricebetween 24 and 30、(4)字符匹配使用LIKE实现字符匹配。 语句的格式为: NOT LIKE,说明:可以包含通配符%和_。 其中% (百分号):表示任意长度(可以为零)的字符串_ (下横线):表

14、示任意一个字符(或汉字)。 例4-13 :查找图书馆内所有以“数据库系统”五个字开头的图书名和编号。 SELECT Title,B# FROM Book WHERE Title LIKE数据库系统%示例4-14 :向图书馆查询以“数据库系统”开头的全名为7个汉字的图书名。 selecttitlefrombookwheretitlelike数据库系统_ _,(NULL值的查询为NULL,判断例4-15 :查询成绩差的学生的学号和课程编号。 SELECT S#,C# FROM SC WHERE Grade IS NULL,(6)绑定条件查询将多个查询条件连接到AND和OR。 在这里,“与”的优先级高于“或”。 但是,用户可以在括号中更改优先级。 例4-16 :查图书馆出版社编号为02出版,单价在25元以下的图书书名和编号。SELECT Title、b # from book where p #=02 and price 25,5,5 .组查询在GROUP BY子句中实现,将查询结果表分组为一个或多个列值。 对值相等的进行分组。 例4-17 :修订图书馆各出版社出版的图书数量。 SELECT P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论