索引的概念
数据库的索引好比新华字典的音序表,它是对数据表中一列或多列的值进行排序后的一种结构,其作用就是提高表中数据的查询速度。
索引的分类
- 普通索引:基本索引类型
- 唯一性索引:该索引所在字段的值必须是唯一的
- 全文索引:定义在字符串类型上的索引
- 空间索引:只能创建在空间数据类型上
- 单列索引:在单个字段上创建的索引
- 多列索引:在多个字段上创建的索引
创建索引
创建表时创建索引
基本语法格式:
CREATE TABLE 表名称
(
字段名 数据类型 [完整性约束条件],
字段名 数据类型 [完整性约束条件],
…………
字段名 数据类型 ,
[ UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY
[索引名] (字段名 [(长度)] [ASC | DESC] )
);
UNIQUE :唯一索引
FULLTEXT:全文索引
SPATIAL :空间索引
INDEX | KEY :表示索引,二选一即可
字段名:要添加索引的字段
长度:索引的长度
ASC | DESC :ASC为升序排序,DESC为降序排序,默认是ASC升序排序
使用CREATE INDEX语句 在已有表上创建索引
基本语法格式:
CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名
ON 表名 (字段名 [(长度)] [ASC | DESC] ) ] ;
使用ALTER TABLE语句 在已有表上创建索引
基本语法格式:
ALTER TABLE 表名
ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名
(字段名 [(长度)] [ASC | DESC] ) ]
删除索引
使用ALTER TABLE语句 在删除索引
基本语法格式:
ALTER TABLE 表名
DROP INDEX 索引名;
使用DROP INDEX语句 在删除索引
基本语法格式:
DROP INDEX 索引名 ON 表名 ;
查看表中的索引
基本语法格式:
SHOW INDEX FROM 表名;