实验四:管理SQL Server数据表的数据
实验内容
注:以下所有表都基于XSKC模式
依据实验三建立的数据表结构(student、course、sc),分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:
- 使用Management Stuio界面方式向student表中插入如下记录:
学生信息表(student)
Sno Sname Ssex Sage Sdept
200515001 赵菁菁 女 23 CS
200515002 李咏 男 20 CS
200515003 张力 男 19 CS
200515004 张衡 男 18 IS
200515005 张向东 男 20 IS
200515006 张向丽 女 20 IS
200515007 王芳 女 20 CS
200515008 王民生 男 25 MA
200515009 王小民 女 18 MA
200515010 李晨 女 22 MA
200515011 张毅 男 20 WM
200515012 杨磊 女 20 EN
200515013 李晨 女 19 MA
200515014 张丰毅 男 22 CS
200515015 李蕾 女 21 EN
200515016 刘社 男 21 CM
200515017 刘星耀 男 18 CM
200515018 李贵 男 19 EN
200515019 林自许 男 20 WM
200515020 马翔 男 21
200515021 刘峰 男 25 CS
200515022 牛站强 男 22
200515023 李婷婷 女 18
200515024 严丽 女 20
200515025 朱小鸥 女 30 WM
2.使用T-SQL 语句向course和SC表中插入如下记录:
课程信息表(course)
insert into XSKC.course
values
('01', '数据库', '05','4'),
('02','数学', NULL,'2'),
('03','信息系统','01','4'),
('04', '操作系统','05','3'),
('05', '数据结构', '07', '4'),
('06', '数据处理', NULL,'2'),
('07', 'PASCAL语言', '06', '4'),
('08', '大学英语', NULL,'4'),
('09', '计算机网络', NULL,'4'),
('10','人工智能', NULL,'2')
选课信息表(sc)
insert into XSKC.sc
values
('200515001','01',75),
('200515002','01',85),
('200515002','03',53),
('200515003','01',86),
('200515004','01',74),
('200515005','01',58),
('200515006','01',84),
('200515004','02',46),
('200515005','02',89),
('200515006','02',65),
('200515008','02',72),
('200515009','02',76),
('200515010','02',96),
('200515010','08',86),
('200515011','08',62),
('200515015','08',0),
('200515018','08',58),
('200515001','04',62),
('200515002','04',85),
('200515021','09',54),
('200515001','05',58),
('200515021','06',58),
('200515001','07',70),
('200515005','10',65),
('200515016','08',Null),
('200515017','08',Null)
3.修改数据表信息
- 修改student表,将cs系姓名为“李咏”的学生姓名为“李勇”;
update XSKC.student
set sname='李勇'
where sdept='CS'and sname='李咏'
- 将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;
update XSKC.student
set sname='王丹丹' ,ssex='女',sage=20,sdept='MA'
where sno='200515010';
- 修改course表,将“数据处理”的学分改为3学分;
update XSKC.course
set ccredit=3
where cname='数据处理';
- 修改CS表,将选修课程“1”的同学成绩加5分;
update XSKC.sc
set grade=grade+5
where cno='01';
- 删除数据表student中无专业的学生记录;
delete from XSKC.student
where sdept is null;
- 删除数据表course中学分低于1学分的课程信息;
delete from XSKC.course
where ccredit<1;
4.使用T-SQL 语句查看数据表信息
1)查看数据表Student所有记录
select *
from XSKC.student;
2) 查看数据表Student中字段sno、sname的所有记录
select sno,sname
from XSKC.student;
3) 按照院系、学号、姓名、性别、年龄的顺序显示学生信息表中前10个同学记录,要求在结果集中列标题按照上述内容显示;
select top 10 sdept as 院系,sno as 学号,sname as 姓名,ssex as 性别,sage as 年龄
from XSKC.student
4) 按照“院系,学号,姓名,年龄”的顺序显示院系不明的所有学生记录;
select sdept as 院系,sno as 学号,sname as 姓名,sage as 年龄
from XSKC.student
where sdept is null
5) 显示学号最后一位为1或者2或者3的学生的学号、姓名、性别年龄及院系;
select sno as 学号,sname as 姓名,ssex as 性别,sage as 年龄,sdept as 院系
from XSKC.student
where sno like '%[123]'
6) 显示没有先行课的课程号及课程名;
select cno,cname
from XSKC.course
where cpno is null
7) 查询所有院系不是CS、IS的男同学信息。
select *
from XSKC.student
where sdept not in ('CS','IS') and ssex='男'