SQL-Server的第二次实验


首先要做的是先把三个表Student,Course和SC建好,这里有一个如果建的表到了master库里想把它改到自己新建的库下可以按下图依次点开
在这里插入图片描述
接着把开头的master库改为自己新建的库再执行就好了!
在这里插入图片描述
三个表都建好后再开始做实验。

一、索引的建立和删除

1.建立索引
为学生-课程数据库中的Student、Course、和SC三个表建立索引,其中Student表按学号升序建唯一索引,Course 表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引

CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);//默认是升序ASC,DESC是降序

刚开始做的时候一直显示找不到对象,原因是库那里设置成了master,把它改成表所在的数据库就好了。
在这里插入图片描述
2.修改索引
将SC表的SCno索引名改为SCSno

ALTER INDEX SCno RENAME TO SCSno;

按照书上给出的代码又出现了错误
在这里插入图片描述
解决方法是需要调用存储过程,代码如下

EXEC sp_rename 'SC.SCno','SCSno'

如下图时,即修改成功
在这里插入图片描述
3.删除索引
删除Student表的Stusno索引
书上代码直接用DROP INDEX删除

DROP INDEX  Stusno 

但是出现了错误,提示还需要指定表名
在这里插入图片描述
加上ON加表名后就好了

DROP INDEX  Stusno ON Student

在这里插入图片描述

二、插入数据(元组)

1.将一个新学生元组(学号:201215128,姓名:陈冬,性别:男,所在系:IS,年龄:18岁)插入到Student表中。

INSERT
INTO Student(Sno,Sname,Ssex,Sdept,Sage)
VALUES('202115128','陈冬','男','IS',18);//值与属性值要一一对应

在这里插入图片描述
2.将学生张成民的信息插入到Student表中

INSERT
INTO Student//只指出表名的时候代表属性列的次序与建表时属性列的次序相同。
VALUES('202115128','张成民','男',18,'CS');

在这里插入图片描述
3.插入一条选课记录(‘201212128’,‘1’)。

INSERT
INTO SC(Sno,Cno)
VALUES('201215128','1');//也可以在后面加NULL,不影响

按照上面的代码执行后出现了错误,根据提示是有Cno外码限制,所以插入的Cno数据应该在Course表中的Cno上已经存在。解决方法可以在Course表中新插一条课程号为1的数据,也可以解除外码限制。
(1)新插入再执行上面代码

INSERT
INTO Course(Cno,Cname)
VALUES('1','张三');

在这里插入图片描述
(2)解除外码限制

ALTER TABLE SC DROP CONSTRAINT FK__SC__Cno__36B12243//后面的外码名称在提示栏直接复制就可以
INSERT
INTO SC(Sno,Cno)
VALUES('201215128','1');

在这里插入图片描述
在这里插入图片描述

三、数据查询(单表查询)

1.查询全体学生的学号与姓名

SELECT Sno,Sname
FROM Student;

在这里插入图片描述
2.查询全体学生的姓名,学号,所在系

SELECT Sname,Sno,Sdept
FROM Student;

在这里插入图片描述
3.查询全体学生的详细记录

SELECT Sno,Sname,Ssex,Sage,Sdept
FROM Student

或者也可以等价于

SELECT *
FROM Student

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值