SQL 实验三 数据更新

一.	实验目的
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'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值