数据库原理与应用实验-数据库更新实验

本文档详细记录了一次SQL数据库操作实验,涵盖了对学生和课程表的插入、更新、删除等基本操作,包括添加选课记录、新增学生、计算各系平均年龄、修改学生信息、批量更新年龄、清零成绩、删除记录等任务,旨在锻炼对数据库的熟练运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、实验目的

二、实验说明

1.插入一条选课记录(' 201105122 ','1 ')

2.将一个新学生记录

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

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

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

6. 将信息系所有学生的年龄增加1岁。

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

8.删除学号为201105124的学生记录。

9.删除2号课程的所有选课记录。

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

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


实验报告

开课学院及实验室:                                                                                         

学院

 

年级、专业、班

  

姓名

学号

实验课程名称

数据库原理与应用实验

成绩

 

实验项目名称

数据库更新实验

指导    教师

 

一、实验目的

掌握基本表的insert,update,delete操作

二、实验说明

数据库参考(先执行下列语句)

CREATE DATABASE SCDB   

    ON PRIMARY(NAME=SCDB,

    FILENAME='d:\SCDB.mdf',

    SIZE=4MB,

    MAXSIZE=6MB,

    FILEGROWTH=2MB)

go

use SCDB

go

CREATE TABLE Student

        (Sno    CHAR(9)  Primary key,     /*学号*/

         Sname  CHAR(20)  NOT NULL,    /*姓名*/

         Ssex   CHAR(2) check(Ssex in ('男','女')),   /*性别*/

         Sage   INT default 20,        /*年龄*/

         Sdept  CHAR(15));       /*所在系*/

go

insert into student values('201105121','李勇','男',20,'SC')

insert into student values('201105122','刘晨','女',19,'SC')

insert into student values('201105123','王敏','女',18,'MA')

insert into student values('201105124','张立','男',19,'IS')

go

CREATE TABLE Course(

            Cno CHAR(3) ,        /*课程号*/

            Cname CHAR(20) ,       /*课程名*/

            Cpno CHAR(3),        /*先修课号码*/

            Ccredit int,         /*学分*/

            Primary key (Cno));

go

insert into Course values('1','数据库','5',4)

insert into Course values('2','数学',NULL,2)

insert into Course values('3','信息系统','1',4)

insert into Course values('6','数据处理',NULL,2)

insert into Course values('4','操作系统','6',3)

insert into Course values('7','PASCAL语言','6',4)

insert into Course values('5','数据结构','7',4)

go

CREATE TABLE SC(

            Sno   CHAR(9) ,         /*学号*/

            Cno   CHAR(3) ,         /*课程号*/

            Grade int,           /*成绩*/

            Primary key (Sno, Cno),

            CHECK(Grade BETWEEN 0 AND 100),

            FOREIGN KEY(Sno) REFERENCES Student(Sno),

            FOREIGN KEY(Cno) REFERENCES Course(Cno));



go

insert into SC values('201105121','1',92)

insert into SC values('201105121','2',85)

insert into SC values('201105121','3',88)

insert into SC values('201105122','2',90)

insert into SC values('201105123','3',80)

 三、实验内容

在SQL Server Query Analyzer中实现表的insert,update,delete操作。

1.插入一条选课记录(' 201105122 ','1 ')

insert into SC
(Sno,Cno)
values
('201105122','1')
go

/*查看插入的数据*/
select * from SC
where Sno=201105122
go
 

2.将一个新学生记录

(学号:201205122;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中
insert into Student
(Sno,Sname,Ssex,Sdept,Sage)
values
('201205122','陈冬','男','IS',18)
go

/*查看数据*/
select * from Student
where Sno=201205122
go
 

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

首先新建一个表

create table avg_age
    (sdept char(10),
    avg_age smallint);

然后按照student表中的系别求平均年龄,再把系别和平均年龄存入新建的表中

insert
into avg_age(sdept,avg_age)
select sdept,AVG(sage)
from Student
group by Sdept;
select * from avg_age


 

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

update Student   /*使用update语句,更新数据库中的字段内容*/
set Sage=22
where sno=201105121
 

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

update Student
set Sage=Sage+1
go

6. 将信息系所有学生的年龄增加1岁。

update Student
set Sage=Sage+1
where Sdept='IS'
go

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

update SC
set Grade=0
where Sno in
        (select Sno
        from Student
        where Sdept='sc')
go

8.删除学号为201105124的学生记录。

delete from Student
where Sno=201105124
go

9.删除2号课程的所有选课记录。

delete from SC
where Cno=2
go

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

delete from SC
where Sno in
        (select Sno
        from Student
        where Sdept='sc')
go

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

delete * from SC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sec0nd_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值