数据库第四周实验——索引,插入,查询 ——例题实现

一.索引的建立与删除

(一)建立索引

CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>]]...);

<表名>:要建索引的基本表的名字
索引:可以建立在该表的一列或多列上,各列名之间用逗号分隔
<次序>:指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC
UNIQUE:此索引的每一个索引值只对应唯一的数据记录
CLUSTER:表示要建立的索引是聚簇索引

88页【例3.13】为学生-课程数据库中的Student、Course和SC 三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。
ASC表示升序,DESC表示降序。缺省值:ASC。

CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);

先对Sno进行升序排序,对某个Sno对Cno进行降序排序
在这里插入图片描述
(二)修改索引

ALTER INDEX <旧索引名> RENAME TO <新索引名>;

89页【例3.14】将SC表的SCno索引名改为SCno。

ALTER INDEX SCno RENAME TO SCSno;

在这里插入图片描述
原因:alter不能改变索引名,如若改变索引名就需要调用存储过程。

调用存储过程代码如下:

EXEC sp_rename @objname = 'student.stusno1', @newname = 'stusno2', @objtype = 'index'
/*或者如下*/
EXEC sp_rename '表名.旧索引名', '新索引名', 'INDEX'

调用存储过程时会出现:

注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。

这时命令已经成功执行了。

EXEC sp_rename N'SC.SCno',N'SCSno',N'INDEX' ;
GO

在这里插入图片描述

(三)删除索引

DROP INDEX <表名.索引名>;

89页【例3.15】删除Course表的Course索引。

DROP INDEX Course;

书上的代码有误
在这里插入图片描述
正确代码:

DROP INDEX Course.Course;

在这里插入图片描述

二.插入数据

1.插入元组

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值