当前位置:网站首页>数据库上机实验4 数据更新和视图
数据库上机实验4 数据更新和视图
2022-07-31 05:09:00 【Meteor.792】
一、实验目的
1、熟练掌握数据插入、修改和删除操作语句。
2、掌握视图的创建和删除语句。
3、理解视图的查询、插入、修改和删除操作。
二、实验内容
根据实验1中创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下操作。每一个任务都要给出SQL语句,并且列出查询结果。
1、在学生表中添加一条学生记录,其中,学号为0593,姓名为张乐,性别为男,专业班级为电子05。
insert into student values('0593','张乐','男','电子05',null,null)
2、将所有课程的学分数变为原来的两倍。
update course set credit=credit*2
3、删除张乐的信息。
delete from student where sname='张乐'
4、创建一个电子05的学生视图(包括学号、姓名、性别、专业班级、出生日期)。
create view v_dz05
as
select sno,sname,ssex,major,birth from student
where major='电子05'
5、创建一个生物05的学生作业情况视图(包括学号、姓名、课程名、作业1成绩、作业2成绩、作业3成绩)。
create view v_sw05
as
select student.sno,sname,cname,cj1,cj2,cj3 from student,course,score
where student.sno=score.sno and course.cno=score.cno and major='生物05'
6、创建一个学生作业平均成绩视图(包括学号、作业1平均成绩、作业2平均成绩、作业3平均成绩)。
create view v_avgzy
as
select sno 学号,avg(cj1) 作业1平均成绩,avg(cj2) 作业2平均成绩,avg(cj3) 作业3平均成绩
from score
group by sno
7、修改第5题中生物05的学生作业情况视图,将作业2成绩和作业3成绩去掉。
alter view v_sw05
as
select student.sno,sname,cname,cj1
from student,course,score
where student.sno=score.sno and course.cno=score.cno and major='生物05'
8、向电子05的学生视图中添加一条记录,其中学号为0596,姓名为赵亦,性别为男,专业班级为电子05,出生日期为1986-6-8(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。
insert into v_dz05 values('0596','赵亦','男','电子05','1986-6-8')
学生表也新增加了赵亦的一条记录。
9、将电子05的学生视图中赵亦的性别改为“女”(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。
update v_dz05 set ssex='女' where sname='赵亦'
学生表中赵亦的性别也改成了女。
10、删除电子05的学生视图中赵亦的记录。
delete from v_dz05 where sname='赵亦'
11、删除电子05的学生视图。
drop view v_dz05
三、实验指导
1、启动SQL Server2012软件。
2、通过分离附加的方法,将实验1所创建的作业管理数据库恢复到该软件中。
3、SQL Server中,程序不区别大小写,特别要注意程序中的标点符号,一定要在英文半角状态下输入,否则会出错。
4、给列赋值时要注意字符要用单引号引起来,而其它类型的值则不需要用单引号。
5、修改和删除记录一定要指定条件,否则就会修改或删除表中的全部记录。
6、并不是所有的视图都可以对其进行添加记录、修改记录和删除记录操作,只有可更新视图才可以实现上述操作。
7、由于视图是张虚表,所以对视图更新,最终转换成对基本表的更新。
边栏推荐
- Unity mobile game performance optimization series: performance tuning for the CPU side
- Redis Advanced - Cache Issues: Consistency, Penetration, Penetration, Avalanche, Pollution, etc.
- MySQL-如何分库分表?一看就懂
- MySQL8.0.26安装配置教程(windows 64位)
- Shell重油常压塔模拟仿真与控制
- tf.keras.utils.get_file()
- Mysql——字符串函数
- a different object with the same identifier value was already associated with the session
- Distributed transaction processing solution big PK!
- What are the advantages and disadvantages of Unity shader forge and the built-in shader graph?
猜你喜欢
Three oj questions on leetcode
剑指offer基础版 ---- 第26天
Unity resources management series: Unity framework how to resource management
mysql uses on duplicate key update to update data in batches
mysql5.7.35安装配置教程【超级详细安装教程】
MySQL optimization: from ten seconds to three hundred milliseconds
Interview Redis High Reliability | Master-Slave Mode, Sentinel Mode, Cluster Cluster Mode
剑指offer专项突击版 --- 第 4 天
运用flask框架发送短信验证码的流程及具体代码
docker安装postgresSQL和设置自定义数据目录
随机推荐
关于LocalDateTime的全局返回时间带“T“的时间格式处理
关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
C语言教程(三)-if和循环
剑指offer基础版--- 第23天
Three handshakes and four waves
Interviewer, don't ask me to shake hands three times and wave four times again
CentOS7 安装MySQL 图文详细教程
【一起学Rust】Rust的Hello Rust详细解析
面试官,不要再问我三次握手和四次挥手
剑指offer专项突击版 --- 第 4 天
Centos7 install mysql5.7 steps (graphical version)
剑指offer专项突击版 ---- 第 6 天
Summary of MySQL common interview questions (recommended collection!!!)
torch.normal函数用法
Object Detection Study Notes
datagrip带参sql查询
Centos7 install mysql5.7
有了MVC,为什么还要DDD?
Moment Pool Cloud quickly installs packages such as torch-sparse and torch-geometric
面试Redis 高可靠性|主从模式、哨兵模式、Cluster集群模式