数据库实验5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 SQL的数据操纵功能
实验目的
学会使用MS SQL SERVER 2000的查询分析器完成SQL的数据操纵功能,主要包括数据插入、删除与修改。
知识点拨:
1.数据插入语法格式:
2.数据修改语法格式:
3.数据删除语法格式:
4.SELECT … INTO…语句的使用:
实验内容
1.数据插入
2.数据修改
3.数据删除
4.SELECT … INTO…语句:
实验步骤
1.选择数据库JX;
注意:以下操作请验证结果!
2.数据插入:
1)向学生表加入一条记录,其学号、姓名、性别和系别分别为:(’06011’,’王文
娟’,’女’,’计算机’);
insert
into Student(Sno,Sname,Sex,Sdept)
values ('06011','王文娟','女','计算机')
2)向学生表加入一条记录,其姓名、性别和系别分别为:(’王娟’,’女’,’计算
机’),观察运行结果;
3)创建一个与学生信息表结构完全相同的基本表CP_Student,用以存储计算机和外
国语系学生信息;
create table CP_Student
( Sno char(10) not null,
SName varchar(10),
Sex char(2),
Sbirth smalldatetime,
Sdept varchar(20),
total smallint
)
4)将Student中计算机系和外国语系的学生信息插入到CP_Student;
insert
into CP_Student
select *
from Student
where Sdept='CS'or Sdept='外国语系'
3.数据修改:
1)把教师“王芳”改为“王芳龄”;
update Teacher
set Tname='王芳龄'
where Tname='王芳'
2)将职称是副教授的教师工资提高2%;
update Teacher
set Tpay=Tpay*(1+0.02)
where Tprof='副教授'
3)将计算机系和外国语系学生的考试成绩分别下调4%和增加2分;
update Student
set Total=total*(1-0.04)
where Sdept='CS'
update Student
set Total=Total+2
where Sdept='外国语系'
4)把李强同学的所有分数都加1分;(可使用UPDATE。。。FROM 。。。WHERE。。。)
update SC
set Grade=Grade+1
where Sno=(
select Sno
from Student
where SName='李强'
)
5)选做题:对课程表中的学分进行修改,修改方式为:学分低于3分的加0.4分,高
于3分的减去0.5分,3分的加0.2分;
update Course
set Credit=Credit+0.4
where Credit<3
update Course
set Credit=Credit-0.5
where Credit>3
update Course
set Credit=Credit+0.2
where Credit=3
4.数据删除:
1)删除06011号同学的基本信息;
delete
from Student
where Sno='06011'
2)删除CP_Student中87年(包括87年)以前出生同学的信息;
3)删除CP_Student中的所有记录;
delete
from CP_Student
5.使用SELECT … INTO…语句:
注:语法格式:SELECT <目标列表达式> INTO <新表名> FROM 。。。。。。
语句用途:
▪可以用Select …Into来创建一个新表,并将结果行从查询插入新表中。使用该语句,必须在目的数据库内具有 CREATE TABLE 权限。
▪通过在 WHERE 子句中包含 FALSE 条件,可以使用 SELECT...INTO 创建没有数据的相同表定义,即定义新的表结构。
▪通过创建新表,并把查询结果添加到新表(当然,通常是临时表,其表名与普通表名的区别是前面有个符号“#”),可以分解对一个表的复杂查询要求,简化SQL语句,提高SQL语句的可读性。
1)请创建一个与教师表相同结构的空表CP_Teacher;(使用SELECT。。。INTO。。。)
select *
into CP_Teacher
from Teacher
where Tname is null
2)将所有副教授信息插入CP_Teacher;
insert
into CP_Teacher
select*
from Teacher
where Tprof='副教授'
3)把所有不是副教授的教师信息都插入到CP_Teacher;(请使用INSERT。。。INTO。。。)
insert