时间: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
四、实验总结
新手自学 有错勿喷