<实验要求>
- 每次实验前学生必须根据实验内容认真准备。
- 在指导教师的帮助下能够完成实验内容。
- 实验结束后总结实验内容、书写实验报告。
- 遵守实验室规章制度、不缺席。
- 实验学时内必须做数据库的有关内容,不允许上网聊天或玩游戏。
<实验报告的书写要求>
- 明确实验的目的及要求;
- 记录实验的输入数据和输出结果;
- 说明实验中出现的问题和解决过程;
- 写出实验的体会和实验过程中没能解决的问题;
实验 3 SQL 数据更新、视图
一.实验目的
掌握使用 insert 语句为表添加记录;使用 update 语句修改表记录;使用 delete 语句对表记录进行删除操作;使用 truncate table 截断记录;掌握视图的定义及工作原理;通过前面创建的表及数据,练习视图的建立与撤销;视图的更新操作等。
二.实验要求
- 掌握 insert 语句使用方法
- 掌握 update 语句使用方法
- 掌握 delete 语句使用方法
- 掌握 truncate table 语句使用方法
- 掌握视图的创建方法 三.设计的内容或知识点
数据更新语句 insert、update、delete、truncate table 视图
四、实验环境
一种情况:普通 PC 机,装有 Oracle 的客户端,通过客户端配置和移植工具中的 net manager 配置远程数据库服务器,实现连接。
另一种情况:下载简单的客户端配置程序,配置 tnsnames 文件,通过 toad 或 pl/sql developer 开发工具连接远程数据库服务器,实现连接。
本实验环境现在选用第一种情况进行实验。
五、实验步骤
1、insert 语句使用方法
将一个新学生元组(学号:200815128;姓名:陈冬;性别:男;所在系:计算机学院;年龄:18 岁)插入到 Student 表中
insert
into student (sno,sname,ssex,sdept,sage)
values ('200815128','陈冬','男','计算机学院',18);
对每一个系,求学生的平均年龄,并把结果存入数据库
create table dept_age (sdept CHAR(15), avg_age SMALLINT); |
计算学生的平均年龄,插入上述表中
insert into dept_age select sdept,avg(sage) from student group by sdept;
- update 语句使用方法
将学生 200815128的年龄改为 22 岁
update student set sage=22 where sno='200815128'; |
将计算机学院全体学生的成绩置零
update sc set grade=0 where sno in( select sno from student where sdept='计算机学院' ); 或者如下: update sc set grade=0 where 'cs'=( select sdept from student where sno=sc.sno ); |
- delete 语句使用方法
删除学生 200815128 的学生信息
delete from student where sno='200815128'; |
删除cs全体学生的选课记录
delete from sc where sno in( select sno from student where sdept=cs ); 或者如下: delete |
from sc
where '计算机学院'=( select sdept from student where sno=sc.sno
);
- 掌握 truncate table 语句使用方法
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。 TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。
对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带
WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
删除学生信息表中的所有记录
truncate table student;
5、掌握视图的创建方法
建立cs学生的视图
create or replace view cs_student as
select sno,sname,ssex,sage,sdept from student
where sdept= 'cs';
建立cs学生的视图,并要求进行修改和插入操作时仍需保证该视图只有计算机学院的学生
create or replace view cs_student as
select sno,sname,ssex,sage,sdept from student
where sdept= '计算机学院'
with check option;
建立计算机学院选修了 1 号课程且成绩在 90 分以上的学生的视图
create or replace view cs_student_view as select sno,sname,ssex,sage,sdept from cs_student,sc where cs_student.sno=sc.sno and cno= '1 ' and grade>90; |
删除视图 cs_student_view
drop view cs_student_view;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)