1、创建普通索引
CREATE TABLEindex1 (id INT,
name VARCHAR(20),
sex BOOLEAN, INDEX(id)
);
SHOW CREATETABLE index1\G;
2、创建唯一性索引
CREATE TABLEindex2(id INT UNIQUE,
name VARCHAR(20), UNIQUE INDEX index2_id(id ASC)
);
SHOW CREATETABLE index2\G;
看到在字段id上建立了两个唯一索引id和index2_id,当然这样是没有必要的。
3、创建全文索引
CREATE TABLEindex3 (id INT,
info VARCHAR(20),
FULLTEXT INDEX index3_info(info)
) ENGINE=MyISAM;
4、创建单列索引
CREATE TABLEindex4 (id INT,
subject VARCHAR(30),
INDEXindex4_st(subject(10))
);
注意:只索引subject前10个字符
5、创建多列索引
CREATE TABLEindex5 (id INT,
name VARCHAR(20),
sex CHAR(4),
INDEX index5_ns(name,sex)
);
EXPLAIN select *from index5 where name=’123’\G;
EXPLAIN select *from index5 where name=’123’and sex=’N’\G; 6、创建空间索引
CREATE TABLEindex6 (id INT,
Space GEOMETRY NOT NULL,
SPATIAL INDEX index6_sp(space)
)ENGINE=MyISAM;
7.2.2、在已经存在的表上创建索引 CREATE [UNIQUE|FULLTEXT|SPATIAL]INDEX 索引名 ON 表名 (属性名[(长度)] [ASC|DESC]);
1、创建普通索引
CREATE INDEXindex7_id on example0(id);
2、创建唯一性索引
CREATE UNIQUEINDEX index_8_id ON index8(course_id);
3、创建全文索引
CREATE FULLTEXTINDEX index9_info ON index9(info);
4、创建单列索引
CREATE INDEXindex10_addr ON index10(address(4));
5、创建多列索引
CREATE INDEXindex11_na ON index11(name, address);
6、创建空间索引
CREATE SPATIALINDEX index12_line on index12(line);
7.2.3、用ALTER TABLE语句来创建索引 ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (属性名[(长度)][ASC|DESC]);
1、创建普通索引
ALTER TABLEexample0 ADD INDEX index12_name(name(20));
2、创建唯一性索引
ALTER TABLEindex14 ADD UNIQUE INDEX index14_id(course_id);
3、创建全文索引
ALTER TABLEindex15 ADD INDEX index15_info(info);
4、创建单列索引
ALTER TABLEindex 16 ADD INDEX index16_addr(address(4));
5、创建多列索引
ALTER TABLEindex17 ADD INDEX index17_na(name, address);
6、创建空间索引
ALTER TABLEindex18 ADD INDEX index18_line(line);