mysql索引的操作

一、创建和查看普通索引

  这是最基本的索引类型,而且它没有唯一性之类的限制

1.创建表时创建普通索引

CREATE TABLE table_name(

  属性名 数据类型,

  。。。

  属性名 数据类型,

  INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】)

);

2.在已经存在的表上创建普通索引

CREATE INDEX 索引名

  ON 表名(属性名 【(长度)】 【ASC|DESC】);

3.通过ALTER TABLE 创建普通索引

ALTER TABLE table_name

  ADD INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】);

二、创建和查看唯一索引

  这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。

1.创建表时创建唯一索引

CREATE TABLE table_name(

  属性名 数据类型,

  。。。

  属性名 数据类型,

  UNIQUE INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】)

);

2.在已经存在的表上创建唯一索引

CREATE UNIQUE INDEX 索引名

  ON 表名(属性名 【(长度)】 【ASC|DESC】);

3.通过ALTER TABLE 创建唯一索引

ALTER TABLE table_name

  ADD UNIQUE INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】);

三、创建和查看全文索引

  全文索引主要关联在数据类型为CHAR,VARCHAR和TEXT的字段上,以便能够更快地查询数据量较大的字符串类型的字段,只能在MYISAM引擎上创建全文索引

1.创建表时创建全文索引

CREATE TABLE table_name(

  属性名 数据类型,

  。。。

  属性名 数据类型,

  FULLTEXT INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】)

);

2.在已经存在的表上创建全文索引

CREATE FULLTEXT INDEX 索引名

  ON 表名(属性名 【(长度)】 【ASC|DESC】);

3.通过ALTER TABLE 创建全文索引

ALTER TABLE table_name

  ADD FULLTEXT INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】);

四、创建和查看多列索引

  多列索引是指在创建索引时,所关联的字段不是一个字段,而是多个字段。

1.创建表时创建多列索引

CREATE TABLE table_name(

  属性名 数据类型,

  。。。

  属性名 数据类型,

  INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】,

              。。。                    

                                       属性名1 【(长度)】 【ASC|DESC】)

);

2.在已经存在的表上创建多列索引

CREATE  INDEX 索引名

  ON 表名((属性名1 【(长度)】 【ASC|DESC】,

              。。。                    

                      属性名1 【(长度)】 【ASC|DESC】)

);

3.通过ALTER TABLE 创建多列索引

ALTER TABLE table_name

  ADD INDEX|KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】,

                                   

                                                   。。。                    

                                               属性名1 【(长度)】 【ASC|DESC】)

);

五、删除索引

DROP INDEX index_name

  ON table_name;

或者

ALTER TABLE table_name

  DROP INDEX index_name;

原文地址:https://www.cnblogs.com/Andy-Lv/p/5355559.html