一、实验目的
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
882、在查询窗口中:
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
四、实验总结
新手自学 有错勿喷