MySQL索引之创建、查看和删除

一、索引的目的

索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从上往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的。

二、MySQL索引语法相关

  • 创建索引

-- MySQL创建索引的2种方式

-- 1) CREATE INDEX -- CREATE INDEX可对数据表增加普通索引或UNIQUE索引。

-- 1.1 单值索引:

CREATE INDEX index_name ON table_name(`column_name`);
-- 或者
CREATE UNIQUE INDEX index_name ON table_name(`column_name`);

-- 1.2 复合(联合)索引:

CREATE INDEX index_name ON table_name(column_list);


-- 2) ALTER TABLE -- ALTER TABLE可用于创建普通索引、UNIQUE索引或PRIMARY KEY主键索引。

-- 额外补充一点:add index 等效于 add key

-- 2.1 单值索引:

ALTER TABLE table_name ADD INDEX index_name(`column_name`);
ALTER TABLE table_name ADD UNIQUE(`column_name`);
ALTER TABLE table_name ADD PRIMARY KEY(`column_name`);

-- 2.2 复合(联合)索引:

ALTER TABLE table_name ADD INDEX index_name(column_list);
  • 查看索引

-- 查看MySQL索引的2种方式

1) show index from table_name;
纵向查看:show index from table_name\G;

2) show keys from table_name;
纵向查看:show keys from table_name\G;

 

MySQL索引之创建、查看和删除_第1张图片

  • 删除索引

-- MySQL删除索引的3种用法

1) DROP INDEX index_name ON table_name;

-- DROP KEY index_name on table_name; 行不通,报错!

2) ALTER TABLE table_name DROP INDEX index_name;
-- 或 
   ALTER TABLE table_name DROP KEY index_name;

3) ALTER TABLE table_name DROP PRIMARY KEY;

 

你可能感兴趣的:(MySQL)