数据库的基本操作(3)——建立索引

原表格如下图:在这里插入图片描述
(1)为字段sname建立索引
格式:

CREATE INDEX [索引名] on [表格名] (字段名);

例:
在这里插入图片描述
索引已创立,名称为index
(2)查看索引
格式:

show index from [表格名] from [数据库名]

其中 from [数据库名]可省略
例:
在这里插入图片描述
解释:
1.Non_unique 表示该索引是否是唯一索引。若不是唯一索引,则该列的值为 1;若是唯一索引,则该列的值为 0。
2.Key_name 表示索引的名称(myindex)。
3.Seq_in_index 表示该列在索引中的位置,如果索引是单列的,则该列的值为1;如果索引是组合索引,则该列的值为每列在索引定义中的顺序。
4.Column_name 表示定义索引的列字段(sname)。
5.Collation 表示列以何种顺序存储在索引中。在 MySQL 中,升序显示值“A”(升序),若显示为 NULL,则表示无分类。
6.Cardinality 索引中唯一值数目的估计值。
7.Sub_part 表示列中被编入索引的字符的数量。若列只是部分被编入索引,则该列的值为被编入索引的字符的数目;若该列的值为NULL,则说明整列被编入索引。
8.Packed 指示关键字如何被压缩。 NULL说明没有被压缩。
9.Null 用于显示索引列中是否包含 NULL。若列含有 NULL,该列的值为 YES。若没有,则该列的值为 NO。
10.Index_type 显示索引使用的类型和方法。
11.Comment 显示评注。

表中显示有两行,查询表的内容(如下图)知:该表格中将字段sno、sname设置为主键。由于主键为唯一索引,所以不能再为主键字段建立索引。(关于主键与唯一索引之间的关系,以后会再详细整理。)
在这里插入图片描述
(3)索引的重命名
格式:

ALTER table [表名] RENAME INDEX [原索引名] TO [新索引名];

例,将(1)中建立的索引重命名为myindex2:
在这里插入图片描述
另外,该方法只对Mysql5.7及以上版本适用,5.7以下版本为索引重命名的方法是:删除旧索引,建立新索引。
(4)删除索引
格式:

DROP INDEX [要删除的索引名] on student;

在这里插入图片描述

(5)按某一字段的升序或降序建立唯一索引
格式:

CREATE UNIQUE INDEX [索引名] ON [表名]([字段名] ASC|DESC);

ASC表升序,DESC表降序。如果省略,默认升序。

例1:为student 表按姓名升序建立唯一索引(取名为StuSname)
在这里插入图片描述
例二:为Student_course 表按学号升序和课程号降序建立唯一索引(取名为SCSnoTcid)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值