数据库系统概论-第三章 关系数据库标准语言SQL (续2)

上传人:206****923 文档编号:52474361 上传时间:2018-08-22 格式:PPT 页数:62 大小:478.50KB
返回 下载 相关 举报
数据库系统概论-第三章 关系数据库标准语言SQL (续2)_第1页
第1页 / 共62页
数据库系统概论-第三章 关系数据库标准语言SQL (续2)_第2页
第2页 / 共62页
数据库系统概论-第三章 关系数据库标准语言SQL (续2)_第3页
第3页 / 共62页
数据库系统概论-第三章 关系数据库标准语言SQL (续2)_第4页
第4页 / 共62页
数据库系统概论-第三章 关系数据库标准语言SQL (续2)_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《数据库系统概论-第三章 关系数据库标准语言SQL (续2)》由会员分享,可在线阅读,更多相关《数据库系统概论-第三章 关系数据库标准语言SQL (续2)(62页珍藏版)》请在金锄头文库上搜索。

1、中国人民大学信息学院 数据库系统概论 An Introduction to Database System第三章 关系数据库标准语言SQL (续2)起钉上传 QQ:113608078 Mail:第三章 关系数据库标准语言SQL3.1 SQL概述3.2 学生-课程数据库3.3 数据定义3.4 数据查询3.5 数据更新3.6 视图3.7 小结起钉上传 QQ:113608078 Mail:3.5 数 据 更 新 3.5.1 插入数据3.5.2 修改数据3.5.3 删除数据 起钉上传 QQ:113608078 Mail:3.5.1 插入数据v两种插入数据方式1. 插入元组2. 插入子查询结果可以一次插

2、入多个元组 起钉上传 QQ:113608078 Mail:一、插入元组v语句格式INSERTINTO (,)VALUES ( , )v功能n将新元组插入指定表中起钉上传 QQ:113608078 Mail:插入元组(续)v INTO子句n属性列的顺序可与表定义中的顺序不一致n没有指定属性列n指定部分属性列v VALUES子句n 提供的值必须与INTO子句匹配 值的个数 值的类型起钉上传 QQ:113608078 Mail:插入元组(续)例1 将一个新学生元组(学号:200215128;姓名: 陈冬;性别:男;所在系:IS;年龄:18岁)插入到 Student表中。INSERTINTO Stud

3、ent (Sno,Sname,Ssex,Sdept,Sage)VALUES (200215128,陈冬,男,IS,18);起钉上传 QQ:113608078 Mail:插入元组(续)例2 将学生张成民的信息插入到Student表中 。INSERTINTO StudentVALUES (200215126, 张成民, 男,18,CS); 起钉上传 QQ:113608078 Mail:插入元组(续)例3 插入一条选课记录( 200215128,1 )。INSERTINTO SC(Sno,Cno)VALUES ( 200215128 , 1 );RDBMS将在新插入记录的Grade列上自动地赋空值。

4、或者:INSERTINTO SCVALUES ( 200215128 , 1 ,NULL);起钉上传 QQ:113608078 Mail:二、插入子查询结果v语句格式INSERT INTO ( , )子查询; v功能将子查询结果插入指定表中起钉上传 QQ:113608078 Mail:插入子查询结果(续)v INTO子句(与插入元组类似)v 子查询nSELECT子句目标列必须与INTO子句匹配 值的个数 值的类型起钉上传 QQ:113608078 Mail:插入子查询结果(续)例4 对每一个系,求学生的平均年龄,并把结果 存入数据库。第一步:建表CREATE TABLE Dept_age(Sd

5、ept CHAR(15) /* 系名*/Avg_age SMALLINT); /*学生平均年龄*/起钉上传 QQ:113608078 Mail:插入子查询结果(续)第二步:插入数据INSERTINTO Dept_age(Sdept,Avg_age)SELECT Sdept,AVG(Sage)FROM StudentGROUP BY Sdept;起钉上传 QQ:113608078 Mail:插入子查询结果(续)RDBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 NOT NULL约束UNIQUE约束值域约束起钉上传 QQ:1136080

6、78 Mail:3.5 数 据 更 新 3.5.1 插入数据3.5.2 修改数据3.5.3 删除数据 起钉上传 QQ:113608078 Mail:3.4.2 修改数据v语句格式UPDATE SET =,=WHERE ;v功能n修改指定表中满足WHERE子句条件的元组起钉上传 QQ:113608078 Mail:修改数据(续)nSET子句指定修改方式要修改的列修改后取值nWHERE子句指定要修改的元组缺省表示要修改表中的所有元组起钉上传 QQ:113608078 Mail:修改数据(续)v三种修改方式1. 修改某一个元组的值2. 修改多个元组的值3. 带子查询的修改语句起钉上传 QQ:1136

7、08078 Mail:1. 修改某一个元组的值例5 将学生200215121的年龄改为22岁UPDATE StudentSET Sage=22WHERE Sno= 200215121 ; 起钉上传 QQ:113608078 Mail:2. 修改多个元组的值例6 将所有学生的年龄增加1岁UPDATE StudentSET Sage= Sage+1;起钉上传 QQ:113608078 Mail:3. 带子查询的修改语句例7 将计算机科学系全体学生的成绩置零。UPDATE SCSET Grade=0WHERE CS=(SELETE SdeptFROM StudentWHERE Student.Sno

8、 = SC.Sno);起钉上传 QQ:113608078 Mail:修改数据(续)RDBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则n实体完整性n主码不允许修改n用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束起钉上传 QQ:113608078 Mail:3.5 数 据 更 新 3.5.1 插入数据3.5.2 修改数据3.5.3 删除数据 起钉上传 QQ:113608078 Mail:3.5.3 删除数据v 语句格式DELETEFROM WHERE ;v 功能n删除指定表中满足WHERE子句条件的元组v WHERE子句n指定要删除的元组n缺省表示要删除表中

9、的全部元组,表的定义仍在字典 中起钉上传 QQ:113608078 Mail:删除数据(续)v三种删除方式1. 删除某一个元组的值2. 删除多个元组的值3. 带子查询的删除语句起钉上传 QQ:113608078 Mail:1. 删除某一个元组的值例8 删除学号为200215128的学生记录。DELETEFROM StudentWHERE Sno= 200215128 ;起钉上传 QQ:113608078 Mail:2. 删除多个元组的值例9 删除所有的学生选课记录。DELETEFROM SC;起钉上传 QQ:113608078 Mail:3. 带子查询的删除语句例10 删除计算机科学系所有学生

10、的选课记录。DELETEFROM SCWHERE CS=(SELETE SdeptFROM StudentWHERE Student.Sno=SC.Sno);起钉上传 QQ:113608078 Mail:第三章 关系数据库标准语言SQL3.1 SQL概述3.2 学生-课程数据库3.3 数据定义3.4 数据查询3.5 数据更新3.6 视图3.7 小结起钉上传 QQ:113608078 Mail:3.6 视 图视图的特点v 虚表,是从一个或几个基本表(或视图)导出的表v 只存放视图的定义,不存放视图对应的数据v 基表中的数据发生变化,从视图中查询出的数据也随之改变起钉上传 QQ:113608078

11、 Mail:3.6 视 图基于视图的操作v 查询v 删除v 受限更新v 定义基于该视图的新视图起钉上传 QQ:113608078 Mail:3.6 视 图3.6.1 定义视图3.6.2 查询视图3.6.3 更新视图3.6.4 视图的作用起钉上传 QQ:113608078 Mail:3.6.1 定义视图v建立视图v删除视图起钉上传 QQ:113608078 Mail:一、建立视图v语句格式CREATE VIEW ( ,)AS WITH CHECK OPTION;v组成视图的属性列名:全部省略或全部指定v子查询不允许含有ORDER BY子句和DISTINCT短语起钉上传 QQ:113608078

12、Mail:建立视图(续)vRDBMS执行CREATE VIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。v在对视图查询时,按视图的定义从基本表中将数据查出。起钉上传 QQ:113608078 Mail:建立视图(续)例1 建立信息系学生的视图。CREATE VIEW IS_StudentAS SELECT Sno,Sname,SageFROM StudentWHERE Sdept= IS;起钉上传 QQ:113608078 Mail:建立视图(续)例2建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生 。CREATE VIEW IS_Stud

13、entAS SELECT Sno,Sname,SageFROM StudentWHERE Sdept= ISWITH CHECK OPTION;起钉上传 QQ:113608078 Mail:建立视图(续)对IS_Student视图的更新操作:v 修改操作:自动加上Sdept= IS的条件v 删除操作:自动加上Sdept= IS的条件v 插入操作:自动检查Sdept属性值是否为IS 如果不是,则拒绝该插入操作 如果没有提供Sdept属性值,则自动定义Sdept为IS起钉上传 QQ:113608078 Mail:建立视图(续)v基于多个基表的视图例3 建立信息系选修了1号课程的学生视图。CREAT

14、E VIEW IS_S1(Sno,Sname,Grade)AS SELECT Student.Sno,Sname,GradeFROM Student,SCWHERE Sdept= IS ANDStudent.Sno=SC.Sno ANDSC.Cno= 1;起钉上传 QQ:113608078 Mail:建立视图(续)v基于视图的视图例4 建立信息系选修了1号课程且成绩在90分以上的学生的视图。CREATE VIEW IS_S2ASSELECT Sno,Sname,GradeFROM IS_S1WHERE Grade=90;起钉上传 QQ:113608078 Mail:建立视图(续)v带表达式的视图例5 定义一个反映学生出生年份的视图。CREATE VIEW

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号