MySQL索引类型及创建方式的总结

本文介绍了MySQL中的各种索引类型,包括普通索引、唯一索引等,并提供了详细的创建索引的方法,涵盖了创建表时创建索引、在已存在的表上创建索引以及使用ALTER TABLE语句创建索引的具体语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL索引类型及创建方式的总结

1、MySQL索引类型包括:普通索引、唯一索引、全文索引、单列索引、多列索引和空间索引

2、索引的创建有利有弊,创建索引可以提高查询速度,但过多的创建索引则会占据许多的磁盘空间。

3、MySQL通过三种方式来创建索引,分别为创建表时创建索引、在已经存在的表上创建索引和通过SQL语句ALTER TABLE创建索引。

4、不同索引类型的不同创建方式总结如下表所示:

MySQL索引类型

创建索引的方式及语法

创建表时创建索引

在已经存在的表上创建索引

SQL语句ALTER TABLE创建索引

普通索引

CREATE  TABLE table_name (

属性名 数据类型,

……

属性名 数据类型,

INDEX | KEY 索引名 (属性名 [长度] [ASC|DESC] ));

CREATE INDEX 索引名

ON 表名 (属性名 [长度] [ASC|DESC]);

ALTER TABLE table_name ADD INDEX | KEY 索引名 (属性名 [长度] [ ASC|DESC]);

唯一索引

CREATE  TABLE table_name (

属性名 数据类型,

……

属性名 数据类型,

UNIQUE INDEX | KEY 索引名 (属性名 [长度] [ASC|DESC] ));

CREATE UNIQUE INDEX 索引名

ON 表名 (属性名 [长度] [ASC|DESC]);

ALTER TABLE table_name ADD UNIQUE INDEX | KEY 索引名 (属性名 [长度] [ ASC|DESC]);

全文索引

CREATE  TABLE table_name (

属性名 数据类型,

……

属性名 数据类型,

FULLTEXT INDEX | KEY 索引名 (属性名 [长度] [ASC|DESC] ));

CREATE FULLTEXT INDEX 索引名ON 表名 (属性名 [长度] [ASC|DESC]);

ALTER TABLE table_name ADD FULLTEXT INDEX | KEY 索引名 (属性名 [长度] [ ASC|DESC]);

多列索引

CREATE  TABLE table_name (

属性名 数据类型,

……

属性名 数据类型,

INDEX | KEY 索引名 (属性名1 [长度] [ASC|DESC],

……

属性名n [长度] [ASC|DESC] ));

CREATE INDEX 索引名

ON 表名 (

属性名1 [长度] [ASC|DESC],

…… 

属性名n [长度] [ASC|DESC]

);

ALTER TABLE table_name ADD INDEX | KEY 索引名 (

属性名1 [长度] [ ASC|DESC],

…… 

属性名n [长度] [ASC|DESC]

);


5、查询索引的方式:SHOW CREATE TABLE table_name

6、删除索引的语法形式:DROP INDEX index_name ON table_name 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值