1.创建索引基本语法格
在MySQL中,在已经存在的表上,可以通过ALTER TABLE语句直接为表上的一个或几个字段创建索引。基本语法格式如下:
ALTER TABLE 表名 ADD [UNIQUE | FULLTEXT | SPATIAL] INDEX 索引名(字段名 [(长度)] [ASC | DESC]);
表名:是指需要创建索引的表的名称。该表必须是已经存在的,如果不存在,需要先创建。
UNIQUE:可选。表示索引为唯一性索引。
FULLTEXT:可选。表示索引为全文索引。
SPATIAL:可选。表示索引为空间索引。
INDEX:用来指定字段为索引的。
索引名:给创建的索引起一个新名称。
字段名:指定索引对应的字段的名称。该字段必须为已经定义好的字段。
长度:指定索引的长度。必须是字符串类型才可以使用。
ASC:可选。表示升序排列。
DESC:可选。表示降序排列。
2.MySQL创建普通索引
使用ALTER TABLE语句创建index7_name索引。SQL代码如下:
ALTER TABLE index7 ADD INDEX index7_name(name(20))
3.MySQL创建唯一性索引
在index13表中的course_id字段上,建立名为index13_id的唯一性索引。SQL代码如下:
ALTER TABLE index13 ADD UNIQUE INDEX index13_id(course_id);
4.MySQL创建全文索引
在index14表中的info字段上建立名为index14_info的全文索引。SQL代码如下:
ALTER TABLE index14 ADD FULLTEXT INDEX index14_info(info);
5.MySQL创建单列索引
在index15表中的address字段上建立名为index15_addr的单列索引。address字段的数据类型为VARCHAR(20),索引的数据类型为CHAR(4)。SQL代码如下:
ALTER TABLE index15 ADD INDEX index15_addr(address(4));
6.MySQL创建多列索引
在index16表中的name和address字段上建立名为index16_na的多列索引。SQL代码如下:
ALTER TABLE index16 ADD INDEX index16_na(name,address);
7.MySQL创建空间索引
ALTER TABLE index17 ADD SPATIAL INDEX index17_line(line);
其中,SPATIAL用于设置索引为空间索引;表index17的存储引擎必须是MyISAM类型;line字段必须是非空的,而且必须是空间数据类型。
8.查看索引
DESC category
SHOW KEYS FROM category
SHOW INDEX FROM category
SHOW INDEXES FROM category