赞
踩
原表格如下图:
(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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。