数据库的更新实验

简介: 本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。

实验6 数据库的更新实验


 

实验目的

 

本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。

 

相关知识

 

  • SQL Server提供了很多方法更新表中数据。

 

以插入记录为例,可以使用INSERT语句、VALUES子句将特定值集合插入一行;本实验主要掌握INSERT、UPDATE和DELETE语句的基本用法。


  • 插入操作,其语句的一般格式为

 

INSERT INTO 表名 values ()


  • 修改操作语句的一般格式为

 

UPDATE 表名 set 列名 表达式


  • 删除语句的一般格式为

 

DELETE  FROM <表名> [WHERE <条件>];


其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,则表示要删除表中的所有元组,但表的定义仍在字典中。

 

实验内容

 

  • 本实验的主要内容是:

 

通过企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。

 

具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。

 

实验步骤

 

  • 1.将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。

 

insert into S values('95050','陈冬','男','18','计算机科学系')


  • 2. 插入一条选课记录(‘95020’,’C1’)。

 

insert into SC values('95020','1',null)
insert into S values('95020','错误','女','23','CS')


  • 3. 对每一个系,求学生的平均年龄,并把结果存入数据库。

 

第一步:建个表
create table Dept_age(Sdept CHAR(15),Avg_age SMALLINT);
第二步:使用子查询,先将学生按系分组求得平均年龄,然后再将其插入
INSERT INTO  Dept_age(Sdept,Avg_age)
 SELECT  Sdept,AVG(Sage)
 FROM     S
 GROUP BY Sdept;
  对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。
  CREATE TABLE Deptage(所在系 CHAR(20),平均年龄SMALLINT);
  然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。


  • 4.将学生95001的年龄改为22岁。

 

insert into S VALUES('95001','嘿嘿','男',null,null) #先添加一个95001
update S set sage='22' where sno='95001'


  • 5 .将所有学生的年龄增加一岁。

 

update S set sage=sage+1


  • 6.将计算机科学系全体学生的成绩置零。

 

update SC set grage=0 
where sno in
(select sno from S where sdept='CS')


  • 7.删除学号为95006的学生记录

 

insert into S values('95006',null,null,null,null)
delete from S where sno='95006';


  • 8.删除所有的学生选课记录

 

delete from SC


  • 9.删除计算机科学系所有学生的选课记录

 

delete from SC where sno in 
(select sno from S where sdept='CS')


将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

 

收获体会

 

本次实验不难,需要注意字表与主表的关系,这里需要注意SC类容和S的内容,通过本次实验,对更新语句更加熟练

 

相关文章
|
5月前
|
SQL 存储 Go
SQL Server 创建与管理数据库实验报告
SQL Server 创建与管理数据库实验报告
76 1
|
3天前
|
关系型数据库 MySQL Java
西电数据库实验一:数据库远程连接的实验报告
姓名:贾瑞 学号:21009201172 实验一:数据库远程连接
|
7月前
|
存储 SQL Go
数据库:存储过程实验
一、实验目的及要求 目的 掌握存储过程的编写与调用 要求 掌握存储过程的编写;掌握存储过程的调用
43 0
|
6月前
|
SQL Oracle 关系型数据库
分布式数据库系统实验四
分布式数据库系统实验四
64 0
|
3天前
|
存储 Oracle 关系型数据库
实验三 Oracle数据库的创建和管理
实验三 Oracle数据库的创建和管理
13 1
|
3天前
|
SQL Oracle 关系型数据库
实验一 安装和使用Oracle数据库
实验一 安装和使用Oracle数据库
13 1
|
3天前
|
关系型数据库 分布式数据库 数据库
云原生数据库PolarDB快速入门实验
【2月更文挑战第2天】很基础的PolarDB入门操作实验考试,假期闲着无聊考着玩玩。云原生数据库 PolarDB MySQL 版是阿里云自研产品,100%兼容 MySQL。PolarDB产品具有多主多写、多活容灾、HTAP 等特性,交易性能最高可达开源数据库的6倍,分析性能最高可达开源数据库的400倍,TCO 低于自建数据库50%。
|
3天前
|
存储 SQL 弹性计算
|
3天前
|
SQL 关系型数据库 分布式数据库
西电数据库实验二:XDSQL与PolarDB对比实验
实验二 XDSQL与PolarDB对比实验 姓名:贾瑞  学号:21009201172
|
10月前
|
SQL 存储 数据库
SQL数据恢复总结 - sql server 2012数据库基础-数据恢复-实验报告
SQL数据恢复总结 - sql server 2012数据库基础-数据恢复-实验报告
162 0