SQL server中索引的新建、删除、修改

先创建一张Student基本表,用于后面的测试数据
– 学生信息表

CREATE TABLE Student(
   Sno char(9) primary key,
	 Sname char(20) unique,
	 Ssex char(2),
	 Sage smallint,
	 Sdep char(20)
)

insert into Student values ('201215121','李勇','男',20,'CS');
insert into Student values ('201215122','刘晨','女',19,'CS');
insert into Student values ('201215123','王敏','女',18,'MA');
insert into Student values ('201215125','张立','男',19,'IS');

select * from Student

一、建立
语句:create < unique | cluster > index <索引名> on <表名><列名,次序>

为表Student创建索引Stusno

create unique index Stusno on Student (Sno asc,sAGE desc)

其中unique表明此索引的每一个索引值时只对应唯一的数据记录
cluster表示要建立的索引时聚簇索引。

二、删除
语句:drop index 索引名 on 表名
删除索引Stusno

DROP INDEX Stusno ON Student

三、修改索引名
alter不能改变索引名,如若改变索引名就需要调用存储过程。

错误代码如下:
语句:alter index <旧索引名> rename to <新索引名>
alter index Stusno rename to Stu

调用存储过程代码如下:

1、EXEC sp_rename @objname = 'student.Stu', @newname = 'Stusno', @objtype = 'index'

2、EXEC sp_rename 'Student.Stusno', 'Stu', 'index'

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

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

猜你喜欢

转载自blog.csdn.net/Y_6155/article/details/106277628