mysql索引的创建和删除(全网最全)

一、普通索引

仅仅提高查询效率

Create index 你自己起的索引名字 on 表名(需要添加索引的字段);

删除普通索引:

Drop index 你自己起的索引名字 on 表名;

二、联合索引

和普通索引一样为了提高查询效率,但同时也为数据库节省了开销

Create index 你自己起的索引名字 on 表名(需要添加索引的第1个的字段,需要添加索引的第2个的字段,...,需要添加索引的第n个的字段);  

删除联合索引:

ALTER table 表名 drop index 你自己起的索引名字;

三、主键索引

全表只能有一个,此字段必须具有唯一性

ALTER TABLE 表名 ADD Primary key (需要添加索引的字段);

删除主键索引:

ALTER TABLE 表名 drop primary key;

四、唯一索引

和主键索引相似,但是主键索引全表只能有一个,唯一索引全表可以有多个

Create unique index 你自己起的索引名字 on 表名(需要添加索引的字段);

删除唯一索引:

ALTER table 表名 drop index 你自己起的索引名字;

五、外键索引

使两表产生关联

创建外键索引的同时也会创建外键,创建外键的同时同样也会创建外键索引

Alter table 表名 ADD CONSTRAINT 你为外键起的名字 FOREIGN KEY(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);

删除外键:

Alter table 表名 Drop foreign key 你为外键起的名字;

删除外键索引:

Alter table 表名 Drop key 你为外键起的名字;

5、全文索引:

全文检索,提高模糊查询效率

只能在文本类型CHAR,VARCHAR, TEXT类型字段上创建此索引

此索引在mysql5.6之前只有myisam数据库引擎才支持,到了mysql5.6,Innodb也开始支持了

ALTER TABLE 表名 ADD Fulltext 你自己起的索引名字 (需要添加索引的字段);

删除全文索引:

​Drop index 你自己起的索引名字 on 表名;

猜你喜欢

转载自blog.csdn.net/weixin_55076626/article/details/128379388