【无标题】

实验一

1.创建表

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、创建Student表”的SQL语句 ********** --
create table Student(
    Sno char(10) primary key,
    Sname varchar(20),
    Ssex char(2) ,
    Sage smallint,
    Sdept varchar(20)
 );


-- ********** End ********** --

GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、创建Course表”的SQL语句 ********** --
create table Course(
    Cno char(10) primary key,
    Cname varchar(20),
    Cpno char(10),
    Ccredit smallint
);


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“3、创建SC表”的SQL语句 ********** --
create table SC(
    Sno char(10),
    Cno char(10),
    Grade smallint,
    primary key(Sno,Cno)
);


-- ********** End ********** --

GO

2.修改表结构

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、添加phone列”的SQL语句 ********** --
alter table Student add phone char(12);


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、删除Cpno列”的SQL语句 ********** --

alter table Course drop column Cpno;


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON


-- ********** Begin ********** --
-- ********** 此处写“3、修改sdept列”的SQL语句 ********** --
alter table Student alter column sdept varchar(30);


-- ********** End ********** --

GO

3.删除表

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、删除三张表”的SQL语句 ********** --
drop table SC;
drop table Student;
drop table Course;



-- ********** End ********** --
GO

实验二

1.插入数据

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、为Student表插入两行”的SQL语句 ********** --
insert into Student values('001','Smith','m',18,'CS');
insert into Student values('002','Ketty','f',19,'MA');


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、为Course表插入两行”的SQL语句 ********** --
insert into Course values('C01','DB',NULL,2);
insert into Course values('C02','Oracle','C01',3);


-- ********** End ********** --

GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“3、为SC表插入3行”的SQL语句 ********** --
insert into SC values('001','C01',70);
insert into SC values('001','C02',82);
insert into SC values('002','C01',86);
-- ********** End ********** --
go

2.修改数据1

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、将不及格的学生成绩加5分”的SQL语句 ********** --
update sc set grade=grade+5 where grade<60;


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、将CS系男同学的年龄加1”的SQL语句 ********** --
update Student set sage=sage+1 where sdept='CS' and ssex='m';


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** 此处写“3、将学生的学号前加上‘S’(其中S要大写)”的SQL语句 ********** --
update Student set sno='S'+sno;


-- ********** End ********** --

GO

3.修改数据2

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、将学生的学号前的‘S’删掉”的SQL语句 ********** --
update Student set sno=substring(sno,2,len(sno));


-- ********** End ********** --

GO

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、在学生学号的后面加上‘S’”的SQL语句 ********** --
update Student set sno=substring(sno,1,4)+'S';


-- ********** End ********** --

GO

4.删除数据

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、在SC表中删除成绩为空的选课信息”的SQL语句 ********** --
delete from SC where grade is NULL;


-- ********** End ********** --

``
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、删除年龄等于18岁的女同学”的SQL语句 ********** --
delete from Student where ssex='f' and sage=18;


-- ********** End ********** --

GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“3、删除学分为3分的课程”的SQL语句 ********** --
delete from course where ccredit=3;


-- ********** End ********** --
GO

实验三

第1关:简单查询1

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、查询CS系男同学的学号,姓名,年龄”的SQL语句 ********** --
    select Sno as sno,Sname as sname,Sage as sage from Student where Ssex='m' and Sdept='CS';

-- ********** End ********** --
GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、查询不及格的学生选课信息,列出学号,课程号,成绩”的SQL语句 ********** --
    select Sno as sno,Cno as cno,Grade as grade from SC where Grade < 60;

-- ********** End ********** --
GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“3、查询先行课程不为空的课程(使用*表示查询结果)”的SQL语句 ********** --
select * from Course where Cpno is not NULL;

-- ********** End ********** --
GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“4、查询姓名中带有'n'字母的学生的学号,姓名(使用like语句)”的SQL语句 ********** --
select Sno as sno, Sname as sname from Student where Sname like '%n%';

-- ********** End ********** --
GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“5、使用distinct关键字查询学生表中不同的系,列出系(去除重复元祖)”的SQL语句 ********** --
select distinct Sdept as sdept from Student;

-- ********** End ********** --
GO

第2关:简单查询2

USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、查询90分以上学生的选课信息,列出学号,姓名,课程号,成绩”的SQL语句 ********** --
select SC.Sno as sno,Sname as sname,Cno as cno,Grade as grade from Student,SC where Grade > 90 and  Student.Sno=SC.Sno;

-- select * from SC where Grade > 90;
-- ********** End ********** --

GO
USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、查询‘DB’课程的选课情况,列出学号,成绩”的SQL语句 ********** --
select Sno as sno,Grade as grade from Course,SC where Course.Cname='DB' and Course.Cno = SC.Cno;


-- ********** End ********** --

GO

第3关:简单查询三


USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“1、查询CS系的学生选择‘DB’课程的情况,列出学号,成绩”的SQL语句 ********** --

select SC.Sno as sno,Grade as grade from Student,Course,SC where Cname='DB' and Course.Cno=SC.Cno and Student.Sno=SC.Sno and Sdept='CS';

-- ********** End ********** --

GO


USE CS_yx_DB
GO
SET NOCOUNT ON

-- ********** Begin ********** --
-- ********** 此处写“2、查询女同学的选课情况,列出学号,课程号,课程名,成绩”的SQL语句 ********** --

select ST.Sno as sno,SC.Cno as cno,Course.Cname as cname,SC.Grade as grade  from Student as ST,Course,SC where ST.Ssex='f' and Course.Cno=SC.Cno
 and SC.Sno=ST.Sno;
-- ********** End ********** --

GO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值