欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-06-14 13:15:00
...

一、实验目的 1、学会使用INSERT、UPDATE、DELETE等SQL语句进行数据更新; 2、学会使用CREATE、DROP等SQL语句创建和删除视图。 二、实验内容 1、在SQL Server Management Studio中使用INSERT、UPDATE、DELETE语句进行数据更新。 2、在SQL Server Management

一、实验目的

1、学会使用INSERT、UPDATE、DELETE等SQL语句进行数据更新;

2、学会使用CREATE、DROP等SQL语句创建和删除视图。

二、实验内容

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

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

三、实验步骤

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中插入一个新生记录(sno:J0405;sname:陈东;birthday:1987-5-3;sdeptartment:中文系;tel:0576-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

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)从学生表中删除成绩出现过 0 分的所有学生信息。

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

四、实验总结

新手自学 有错勿喷