当前位置:Gxlcms > mysql > 数据更新、视图的创建与修改

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

时间:2021-07-01 10:21:17 帮助过:5人阅读

一、实验目的 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 < 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)从学生表中删除成绩出现过 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

四、实验总结

新手自学 有错勿喷

人气教程排行