数据库上机实验4 数据更新和视图

简介: 数据库上机实验4 数据更新和视图

一、实验目的

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的学生视图(包括学号、姓名、性别、专业班级、出生日期)。

1. create view v_dz05
2. as
3. select sno,sname,ssex,major,birth  from student
4. where major='电子05'

5、创建一个生物05的学生作业情况视图(包括学号、姓名、课程名、作业1成绩、作业2成绩、作业3成绩)。

1. create view v_sw05
2. as
3. select student.sno,sname,cname,cj1,cj2,cj3  from student,course,score
4. where student.sno=score.sno and course.cno=score.cno and major='生物05'

6、创建一个学生作业平均成绩视图(包括学号、作业1平均成绩、作业2平均成绩、作业3平均成绩)。

1. create view v_avgzy
2. as
3. select sno 学号,avg(cj1) 作业1平均成绩,avg(cj2) 作业2平均成绩,avg(cj3) 作业3平均成绩
4. from score
5. group by sno

7、修改第5题中生物05的学生作业情况视图,将作业2成绩和作业3成绩去掉。

1. alter view v_sw05
2. as
3. select student.sno,sname,cname,cj1
4. from student,course,score
5. where student.sno=score.sno and course.cno=score.cno and major='生物05'

8、向电子05的学生视图中添加一条记录,其中学号为0596,姓名为赵亦,性别为男,专业班级为电子05,出生日期为1986-6-8(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。

1. insert into v_dz05 values('0596','赵亦','男','电子05','1986-6-8')
2. 学生表也新增加了赵亦的一条记录。

9、将电子05的学生视图中赵亦的性别改为“女”(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。

1. update v_dz05 set ssex='女' where sname='赵亦'
2. 学生表中赵亦的性别也改成了女。

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、由于视图是张虚表,所以对视图更新,最终转换成对基本表的更新。

目录
相关文章
|
10月前
|
SQL 数据库 数据库管理
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
237 11
|
5月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
168 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
6月前
|
存储 缓存 关系型数据库
MySQL 视图:数据库中的灵活利器
视图是数据库中的虚拟表,由一个或多个表的数据经筛选、聚合等操作生成。它不实际存储数据,而是动态从基础表中获取。视图可简化数据访问、增强安全性、提供数据独立性、实现可重用性并提高性能,是管理数据库数据的有效工具。
144 0
|
7月前
|
SQL 数据处理 数据库
SQL进阶之路:深入解析数据更新与删除技巧——掌握批量操作、条件筛选、子查询和事务处理,提升数据库维护效率与准确性
【8月更文挑战第31天】在数据库管理和应用开发中,数据的更新和删除至关重要,直接影响数据准确性、一致性和性能。本文通过具体案例,深入解析SQL中的高级更新(UPDATE)和删除(DELETE)技巧,包括批量更新、基于条件的删除以及使用子查询和事务处理复杂场景等,帮助读者提升数据处理能力。掌握这些技巧能够有效提高数据库性能并确保数据一致性。
146 0
|
8月前
|
存储 数据处理 数据库
数据库索引策略如何影响数据更新操作的性能?
【7月更文挑战第3天】数据库索引策略如何影响数据更新操作的性能?
128 1
|
9月前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)
|
9月前
|
SQL 关系型数据库 MySQL
MySQL数据库练习——视图
MySQL数据库练习——视图
58 1
|
10月前
|
存储 Oracle 关系型数据库
实验三 Oracle数据库的创建和管理
实验三 Oracle数据库的创建和管理
115 1
|
10月前
|
SQL Oracle 关系型数据库
实验一 安装和使用Oracle数据库
实验一 安装和使用Oracle数据库
123 1
|
9月前
|
安全 关系型数据库 MySQL
MySQL数据库——视图的更新、视图作用以及案例
MySQL数据库——视图的更新、视图作用以及案例
411 0

热门文章

最新文章