UNIQUE / FULLTEXT / SPATIAL INDEX / KEY 索引名称(字段名称(长度)ASC\|DESC)
);
创建普通索引
创建了2个索引,分别为id和username
sql复制代码
CREATE TABLE test1(
id int,
username varchar(20),
index in_id(id),
KEY in_username(username)
);
创建唯一索引
sql复制代码
CREATE TABLE test2(
id int,
username varchar(20) unique; //自动生成
);
创建全文索引
sql复制代码
CREATE TABLE test3(
id int
username VARCHAR(20) ,
FULLTEXT INDEX full_userDese(username)
);
创建单列索引
sql复制代码
CREATE TABLE test4(
id int UNSIGNED AUTO_INCREMENT KEY,
test1 VARCHAR(20) NOT NULL,
test2 VARCHAR(20) NOT NULL,
INDEX in_test1(test1),
UNIQUE in_test1(test1)
);
创建多列索引
sql复制代码
CREATE TABLE test4(
id int UNSIGNED AUTO_INCREMENT KEY,
test1 VARCHAR(20) NOT NULL,
test2 VARCHAR(20) NOT NULL,
test3 VARCHAR(20) NOT NULL,
INDEX mul_t1_t2_t3(test1,test2,test3)
UNIQUE KEY mul_t1_t2_t3(test1,test2,test3) //二者都可以
);
创建空间索引
sql复制代码
CREATE TABLE test1(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
SPATIAL INDEX spa_test(test)
)ENGINE=MyISAM;
2.2.2存在的表上创建索引
**概念:**在存在的表上创建索引,可以直接创建,也可以将某列修改为某种索引
**直接创建:**CREATE UNIQUE\|FULLTEXT\|SPATIAL INDEX 索引名称 ON 表名 {字段名称(长度)ASC\|DESC};
简化:create index 索引名 on 表名(字段名) //其他条件不设置
**修改表方式创建:**ALTER TABLE 表名 ADD UNIQUE\|FULLTEXT\|SPATIAL INDEX 索引名称](字段名称(长度)ASC\|DESC); //将某个列修改为索引