一. 实验目的
1. 熟悉使用UPDATE/INSERT/DELETE语句进行表操作;
2. 能将这些更新操作应用于实际操作中去;
二. 实验准备
1. 了解更新语句的基本语法和用法;
2. 建立相关数据库,并在数据库中建立表,表中有一定量的记录。
三. 实验内容
Part 1 使用课程数据库
1. 对于student表,将所有所在系部信息为’CS’的改为’计算机科学系’.
update student
set Sdept='计算机科学系'
where sdept='CS'
2. 对于course表,将数据结构课程的学分改为3。
update course
set ccredit=3
where cname='数据结构'
3. 对于student表,插入一条新记录,它的具体信息为,学号:201216011、姓名:张三、性别:男、年龄:21,所在系部:数学系。
insert
into student(Sno,Sname,Ssex,Sage,Sdept)
values('201216011','张三','男',21,'MA');
4. 对于course表,插入两条记录,记录的值自己给定。
insert
into Course(cno,cname,cpno,ccredit)
values('8','JAVA',null,5);
insert
into Course(cno,cname,cpno,ccredit)
values('9','JAVA Web',8,5);
5. 对于SC表,将课程编号为2号的最低分改为在原分数*1.1
update SC
set grade=grade*1.1
where cno='2' and grade in
( select MIN(grade)
from SC
where cno='2'
)
6. 对于SC表,将课程名为数据库的最低分改为在原分数*1.1
update SC
set grade=grade*1.1
where cno='1' and grade in
( select MIN(grade)
from SC
where cno='1'
)
update SC
set grade=grade*1.1
where cno='1' and grade in
( select MIN(grade)
from SC,course
where sc.cno=course.cno and cname='数据库'
)
7. 建立一个新表SC_T,该表的字段名称,类型与表SC一致
create table SC_T
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno))
8. 在SC_T表中,插入若干选课记录,学号为student表中出现的学号,课程编号为1
INSERT
INTO SC_T(sno,cno,grade)
select sno,cno,grade
from SC
where cno='1'
group by sno,cno,grade
9. 在SC_T表中,插入若干选课记录,学号为student表中出现的学号,课程编号为操作系统课程的编号
INSERT
INTO SC_T(sno,cno,grade)
select SC.sno,SC.cno,SC.grade
from SC,COURSE
where course.cno=SC.cno and cname='操作系统'
group by sno,SC.cno,grade
10. 用select语句检查8,9的操作是否正确,如果正确,则删除SC_T表中的所有记录
delete from SC_t
11. 在SC_T表中,插入若干选课记录,学号为student表中出现的学号,课程编号为在课程表中出现的所有课程号。
INSERT
INTO SC_T(sno,cno,grade)
select sno,cno,grade
from SC
group by sno,cno,grade
12. 用select语句检查11的操作是否正确.
Part 2 使用供货商数据库
1. 由S5供给J4的零件P6改为由S3供应。
update SPJ
set SNO='S3'
where SNO='S5' and JNO='J4' and PNO='P6'
2. 将(S2,J6,P4,200)插入供应情况关系中
insert into
SPJ values('S2','P4','J6',200);
3. 建立一个表SPJ_T,该表的结构和表SPJ一致。
create table SPJ_T
( SNO CHAR(20),
PNO CHAR(20),
JNO CHAR(20),
QTY SMALLINT,
);
4. 将SPJ表中的所有记录都插入到表SPJ_T中。
insert into SPJ_T
select *
from SPJ
5. 建立一个表S_T,该表的结构和表S一致。
CREATE TABLE S_T
(SNO CHAR(9) ,
SNAME CHAR(20) ,
STATUS SMALLINT,
CITY CHAR(20)
);
6. 将S表中的所有记录都插入到表S_T中。
insert into S_T
select *
from S
7. 在S_T中删除S2的记录,并从表SPJ_T删除相应的记录
8. 将表SPJ中,零件数量为100的记录,零件数量改为150
update SPJ
set QTY=150
where QTY=100
9. 将工程表J中,J4的城市改为苏州
update J
set CITY='苏州'
where JNO='J4'
SQL 实验三 数据更新
最新推荐文章于 2023-10-27 12:30:00 发布