首页 > 代码库 > 数据更新、视图的创建与改动

数据更新、视图的创建与改动

一、实验目的

1、学会使用INSERTUPDATEDELETESQL语句进行数据更新;

2、学会使用CREATEDROPSQL语句创建和删除视图。

二、实验内容

1、在SQL Server Management Studio中使用INSERTUPDATEDELETE语句进行数据更新。

2、在SQL Server Management Studio中使用CREATEDROP语句创建和删除视图。

三、实验步骤

1利用SQL Server Management Studio在数据库S_C的三个表中分别插入下面数据:学生表S

sno

sname

birthday

sdeptartment

tel

sex

J0401

李军

1985-2-12

计算机系

0576-85123464

J0402

刘晨

1986-5-22

数学系

0576-85123466

J0403

王敏

1986-4-28

计算机系

0576-85123464

J0404

张立

1984-9-8

计算机系

0576-85123464

课程表C:

cno

cname

teacher

pcno

C01

数据库

GUO

C03

C02

VB

LIU

C03

C03

计算机基础

LI

 

C04

数学

WANG

 

C05

数据结构

ZHANG

C03

C06

C语言

CHEN

C03

成绩表SC

sno

cno

grade

J0401

C05

92

J0401

C06

85

J0401

C02

88

J0401

C01

90

J0402

C04

80

J0403

C02

76

J0404

C03

88

2、在查询窗体中:

1选择数据库S_C,用INSERT语句向学生表S中插入一个新生记录(snoJ0405。sname:陈东;birthday1987-5-3sdeptartment中文系;tel0576-85123466;sex女)

Sql语句:

INSERT INTO S 

VALUES(‘J0405‘, 陈东, ‘1987-5-3‘, 中文系, ‘0576-85123466‘, )

2把课程名为VB的成绩从基本表SC中删除

Sql语句:

DELETE FROM SC WHERE cno = 

(SELECT cno FROM C WHERE cname = ‘VB‘)

3把女生的成绩提高10%

Sql语句:

UPDATE SC

SET SC.grade = SC.grade*1.1 FROM SC, S

WHERE SC.sno = S.sno AND S.sex = 

4假设学号为J0404的学生成绩少于90分。则加上10

Sql语句:

UPDATE SC

SET SC.grade = SC.grade+10

WHERE SC.sno = ‘J0404‘ AND SC.grade < 90

5将成绩最低的学生成绩加上10

  UPDATE SC

SET SC.grade = SC.grade+10

WHERE SC.grade = (SELECT TOP 1 SC.grade FROM SC ORDER BY SC.grade)

6将成绩最高前3名的学生成绩减去20

Sql语句:

UPDATE SC

SET SC.grade = SC.grade-20

WHERE SC.grade IN (SELECT TOP 3 SC.grade FROM SC ORDER BY SC.grade DESC)

7将成绩最低前10%的学生成绩减去5

Sql语句:

UPDATE SC

SET SC.grade = SC.grade-5

WHERE SC.grade IN (SELECT TOP 10 PERCENT SC.grade FROM SC ORDER BY SC.grade)

8把王敏同学的学习选课和成绩所有删去。

Sql语句:

DELETE FROM SC

WHERE SC.sno = (SELECT S.sno FROM S WHERE S.sname = 王敏)

9从学生表中删除成绩出现过 分的全部学生信息

Sql语句:

DELETE FROM S

WHERE S.sno = (SELECT SC.sno FROM SC WHERE SC.grade = 0)

3、在查询分析器中用CREATE语句建立视图。

1建立计算机系学生的视图IS_student

Sql语句:

CREATE VIEW IS_student

AS

SELECT * FROM S

WHERE S.sdeptartment = 计算机系

WITH CHECK OPTION

2建立计算机系选修了C02课程的学生的视图IS_C02

Sql语句:

CREATE VIEW IS_C02

AS

SELECT * FROM S

WHERE S.sdeptartment = 计算机系 AND S.sno = 

(SELECT SC.sno FROM SC WHERE SC.cno = ‘C02‘)

WITH CHECK OPTION

3建立计算机系选修了C02课程且成绩在90分以上的学生的视图IS_C0290

Sql语句:

CREATE VIEW IS_C0290

AS

SELECT * FROM S

WHERE S.sdeptartment = 计算机系 AND S.sno = 

(SELECT SC.sno FROM SC WHERE SC.cno = ‘C02‘ AND SC.grade >= 90)

WITH CHECK OPTION

4、在查询分析器中用DROP语句删除视图IS_student。

Sql语句:

DROP VIEW IS_student

四、实验总结

新手自学 有错勿喷

数据更新、视图的创建与改动