在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构。
数据库对象索引是一种有效组合数据的方式。通过索引对象,可以快速查询到数据库对象表中的特定记录,是一种提高性能的常用方式。
一个索引会包含表中按照一定顺序排序的一列或多列字段。索引的操作包含创建索引、修改索引和删除索引。
数据库对象索引好比是一本书前面的目录,主要是为了提高从表中检索数据的速度。
MySQL支持6种索引,分别为:普通索引、唯一索引、全文索引、单列索引、多列索引和空间索引。
(索引的创建有利有弊,创建索引可以提高查询速度,但过多的创建索引则会占据许多的磁盘空间。)
1、创建和查看普通索引
(1)创建表时创建普通索引
语法:create table table_name(
属性名 数据类型,
属性名 数据类型, .................... 属性名 数据类型,
INDEX | KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】) );
(2)在已经存在的表上创建普通索引
语法:create INDEX 索引名 ON 表名(属性名 【(长度)】 【ASC|DESC】);
(3)通过SQL语句alter table 创建普通索引
语法:alter table table_name add INDEX|KEY 索引名 (属性名 【(长度)】 【ASC|DESC】);
2、创建和查看唯一索引
(1)创建表时创建唯一索引
语法:create table table_name( 属性名 数据类型, 属性名 数据类型, .................... 属性名 数据类型, UNIQUE INDEX | KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】) );
(2)在已经存在的表上创建唯一索引
语法:create UNIQUE INDEX索引名 ON表名(属性名 【(长度)】 【ASC|DESC】);
(3)通过SQL语句alter table 创建唯一索引
语法:alter table table_name add UNIQUE INDEX|KEY索引名(属性名 【(长度)】 【ASC|DESC】);
3、创建和查看全文索引
(1)创建表时创建全文索引
语法:create table table_name( 属性名 数据类型, 属性名 数据类型, .................... 属性名 数据类型, FULLTEXT INDEX | KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】) );
(2)在已经存在的表上创建全文索引
语法:create FULLTEXT INDEX 索引名 ON 表名(属性名 【(长度)】 【ASC|DESC】);
(3)通过SQL语句alter table 创建全文索引
语法:alter table table_name add FULLTEXT INDEX|KEY 索引名(属性名 【(长度)】 【ASC|DESC】);
4、创建和查看多列索引
(1)创建表时创建多列索引
语法:create table table_name( 属性名 数据类型, 属性名 数据类型, .................... 属性名 数据类型, INDEX | KEY 【索引名】(属性名1 【(长度)】 【ASC|DESC】, ........ 属性名n 【(长度)】 【ASC|DESC】 ) );
(2)在已经存在的表上创建多列索引
语法:create INDEX 索引名 ON 表名(属性名 【(长度)】 【ASC|DESC】, ............ 属性名n 【(长度)】 【ASC|DESC】);
(3)通过SQL语句alter table 创建多列索引
语法:alter table table_name add INDEX|KEY 索引名(属性名 【(长度)】 【ASC|DESC】 ............ 属性名n 【(长度)】 【ASC|DESC】);
5、删除索引
语法:drop INDEX index_name ON table_name;