1、实验四 数据更新与视图实验四 数据更新与视图一、实验目的1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。二、预备知识1数据更新基本语句及其格式(1)插入操作 SQL的数据插入语句INSERT有两种形式: 插入单个元组,使用命令:INSERT INTO 基本表名 (列名表) VALUES (元组) 插入子查询的结果:INSERT INTO 基本表名(列表名)查询语句(2)修改操作当需要修改指定关系中元组的值时,可使用下列语句实现:UPDATE 基本表名SET 列名1值表达式1,列名2值表达式2WHERE 条件表达式(3)删除操作删除关系中满足
2、条件的元组语句格式如下:DELETE FROM Where 三、实验内容1在实习二创建的“gongcheng”数据库中使用SQL语句完成以下操作:(1)现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工程J4数量为500,请将此供应商的信息和供应信息插入数据库。代码:insert into S (Sno ,Sname,City)values(S9,英特尔,西安)结果;(2)请将北京供应商的供应数量加20代码:update SPJ set QTY=QTY+20where Sno in (select Sno from S wh
3、ere City=北京)结果:(3)零件P3已经停产,请将P3的相关信息从数据库中删除。代码:deletefrom SPJwhere Pno=p3deletefrom Pwhere Pno=p3结果:(4)创建零件名为螺丝刀的供应情况的视图P_ls,包括供应商名(Sname),零件名(Pname),零件重量(Weight),工程项目代码(Jno),供应数量(QTY).代码:create view P_lsAS select Sname,Pnsme,Weight,Jno,QTYfrom S,P,SPJwhere Pnsme=螺丝刀 and S.Sno=SPJ.Sno结果:(5)在视图P_ls中查
4、询供应数量为500的供应商姓名。代码:select Sname from P_lswhere QTY=500结果:2在实习一创建的“学生选课管理”数据库中使用SQL语句完成以下操作:(1)学生孙天要退学,请删除该学生的所有记录。delete from SCwhere Sno in(select Sno from S where(Sname=孙天);delete from S where Sname=孙天;(2)将学号为09105103学生的所有课程成绩加10分。代码:update SC set Grade=Grade+10where Sno=9105103执行前:执行后:(3)学校开了一门新课
5、,课称号为056课程名为信息系统分析,请将此门课程的信息插入。代码:insert into C(Cno,Cname)values (056,信息系统分析)结果:(4)创建查询每个学生的修课学分的视图,要求列出学生学号及总学分。代码:create view P_one(Sno,tCredit)asselect Sno,sum (Credit) from C,SCwhere C.Cno=SC.Cnogroup by Sno;结果:(5)在创建的视图中查询学生李丽所修的学分数。代码:create view P_two(tCredit)asselect sum (Credit) from C,SC,S
6、where C.Cno=SC.Cno and S.Sno=SC.Sno and S.Sname=李丽;结果:3完成课本P127第5题(8)(11)和第11题。(8) 代码:update P set Color=蓝where Color=红结果:(9)update SPJ set Sno=S3where Sno=S5 and Jno=J4(10)delete from SPJ where Sno=S2 delete from S where Sno=S2(11)insert S(Sno)values(S2)insert SPJ(Sno,Jno,Pno,QTY)values(S2,J6,P4,20
7、0)11.create view three (Sno,Pno,QTY)as select Sno,Pno,QTYfrom SPJ(1)create view three (Sno,Pno,QTY)as select Sno,Pno,QTYfrom SPJ,Jwhere J.Jno=SPJ.Jno and J.Jname=三建 (2)select distinct *from threewhere Sno=S1实验总结1,完成情况 这几次实验内容明显的比第一次实验要多,但我们事先写好代码,并且早去一会儿,晚走一会儿,基本可以在机房完成。大部分题目可以自己独立完成,个别题目较难,但经过和同学讨论或问老师,最终把它做出来了。2,相关基本理论: 用语句实现了数据的定义,数据的查询,数据更新与视图。主要是SQl语句的应用与理解。3,存在问题: 对于基本理论的理解还算可以,但是在实验过程中暴露出眼高手低的问题。有些操作不熟悉,代码运用不灵活,一遇到嵌套试的代码就会出问题。还有就是读题要细心,有时把表做出来了,突然发现不是题意要求的。4,自我评价 对自己上机表现基本满意,每节课的时间都被充分利用,在紧张而充实中完成实验内容,练习了所学知识。但有时会有漏掉个别语句的问题,说明还不够熟悉,需在课后多加练习。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1