文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验5

数据库实验5

数据库实验5
数据库实验5

实验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

into CP_Teacher

select*

from Teacher

where Tprof<>'副教授'

4)比较SELECT。。。INTO。。。和INSERT。。。INTO。。。?

SELECT。。。INTO。。。的操作对象是表;在创建表时就必须加入数据。

INSERT。。。INTO。。。的操作对象是表中的数据,或者子查询结果;数据的插入

不依靠表的创建。

(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

相关文档