MySQL中索引优缺点、分类和使用操作详解(4)

挑重点讲,我们需要了解的就5个,用红颜色标记了的,如果想深入了解,可以去查查该方面的资料,我个人觉得,这些等以后实际工作中遇到了在做详细的了解把。

Table:创建索引的表

Non_unique:表示索引非唯一,1代表 非唯一索引, 0代表 唯一索引,意思就是该索引是不是唯一索引

Key_name:索引名称

Seq_in_index 表示该字段在索引中的位置,单列索引的话该值为1,组合索引为每个字段在索引定义中的顺序(这个只需要知道单列索引该值就为1,组合索引为别的)

Column_name:表示定义索引的列字段

Sub_part:表示索引的长度

Null:表示该字段是否能为空值

Index_type:表示索引类型

4.1.2.1、为表添加索引

 就拿上面的book表来说。本来已经有了一个year_publication,现在我们为该表在加一个普通索引

 ALTER TABLE book ADD INDEX BkNameIdx(bookname(30));

MySQL中索引优缺点、分类和使用操作详解

 看输出结果,就能知道,添加索引成功了。

 这里只是拿普通索引做个例子,添加其他索引也是一样的。依葫芦画瓢而已。这里就不一一做讲解了。

4.1.2.2、使用CREATE INDEX创建索引。

 格式:CREATE [UNIQUE|FULLTEXT|SPATIAL] [INDEX|KEY] 索引名称 ON 表名(创建索引的字段名[length])[ASC|DESC]

解释:其实就是换汤不换药,格式改变了一下而已,做的事情跟上面完全一样,做一个例子。

 在为book表增加一个普通索引,字段为authors。

 CREATE INDEX BkBookNameIdx ON book(bookname);

 SHOW INDEX FROM book\G;  //查看book表中的索引

MySQL中索引优缺点、分类和使用操作详解

解释:第一条截图没截到,因为图太大了,这里只要看到有我们新加进去的索引就证明成功了。。其他索引也是一样的创建。

4.2、删除索引

 前面讲了对一张表中索引的添加,查询的方法。

添加的两种方式

 1在创建表的同时如何创建索引,

 2在创建了表之后如何给表添加索引的两种方式,

查询的方式

 SHOW INDEX FROM 表名\G;  \G只是让输出的格式更好看

现在来说说如何给表删除索引的两种操作。

 格式一:ALTER TABLE 表名 DROP INDEX 索引名

很简单的语句,现在通过一个例子来看看,还是对book表进行操作,删除我们刚才为其添加的索引。

 1、删除book表中的名称为BkBookNameIdx的索引。

ALTER TABLE book DROP INDEX BkBookNameIdx;

 

SHOW INDEX FROM book\G;  //在查看book表中的索引,就会发现BkBookNameIdx这个索引已经不在了

MySQL中索引优缺点、分类和使用操作详解

 格式二:DROP INDEX 索引名 ON 表名;

 删除book表中名为BkNameIdx的索引

DROP INDEX BkNameIdx ON book;

 SHOW INDEX FROM book\G;

 

MySQL中索引优缺点、分类和使用操作详解

 

五、总结

MySQL的索引到这里差不多就讲完了,总结一下我们到目前为止应该知道哪些东西

1、索引是干嘛的?为什么要有索引?

这个很重要,需要自己理解一下,不懂就看顶部的讲解

2、索引的分类

3、索引的操作

给表中创建索引,添加索引,删除索引,删除索引

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9dee7e46cb71cd00f6d525cea967b4f3.html