## 创建索引 CREATE TABLE 表名( 字段名 数据类型 [完整性约束条件],        ……, [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY [索引名](字段名1 [(长度)] [ASC | DESC]) [USING 索引方法] ); 说明: UNIQUE:可选。表示索引为唯一性索引。 FULLTEXT:可选。表示索引为全文索引。 SPATIAL:可选。表示索引为空间索引。 INDEX和KEY:用于指定字段为索引,两者选择其中之一就可以了,作用是    一样的。 索引名:可选。给创建的索引取一个新名称。 字段名1:指定索引对应的字段的名称,该字段必须是前面定义好的字段。 长度:可选。指索引的长度,必须是字符串类型才可以使用。 ASC:可选。表示升序排列。 DESC:可选。表示降序排列。 注:索引方法默认使用BTREE。 ## 单列索引(示例) CREATE TABLE projectfile ( id INT AUTO_INCREMENT COMMENT '附件id', fileuploadercode VARCHAR(128) COMMENT '附件上传者code', projectid INT COMMENT '项目id;此列受project表中的id列约束', filename VARCHAR (512) COMMENT '附件名', fileurl VARCHAR (512) COMMENT '附件下载地址', filesize BIGINT COMMENT '附件大小,单位Byte', -- 主键本身也是一种索引(注:也可以在上面的创建字段时使该字段主键自增) PRIMARY KEY (id), -- 主外键约束(注:project表中的id字段约束了此表中的projectid字段) FOREIGN KEY (projectid) REFERENCES project (id), -- 给projectid字段创建了唯一索引(注:也可以在上面的创建字段时使用unique来创建唯一索引) UNIQUE INDEX (projectid), -- 给fileuploadercode字段创建普通索引 INDEX (fileuploadercode) -- 指定使用INNODB存储引擎(该引擎支持事务)、utf8字符编码 ) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT '项目附件表'; 注:这里只为示例如何创建索引,其他的合理性之类的先放一边。 ## 组合索引(示例) CREATE TABLE projectfile ( id INT AUTO_INCREMENT COMMENT '附件id', fileuploadercode VARCHAR(128) COMMENT '附件上传者code', projectid INT COMMENT '项目id;此列受project表中的id列约束', filename VARCHAR (512) COMMENT '附件名', fileurl VARCHAR (512) COMMENT '附件下载地址', filesize BIGINT COMMENT '附件大小,单位Byte', -- 主键本身也是一种索引(注:也可以在上面的创建字段时使该字段主键自增) PRIMARY KEY (id), -- 创建组合索引 INDEX (fileuploadercode,projectid) -- 指定使用INNODB存储引擎(该引擎支持事务)、utf8字符编码 ) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT '项目附件表'; 建表后创建 ALTER TABLE 表名 ADD [UNIQUE | FULLTEXT | SPATIAL]  INDEX | KEY  [索引名] (字段名1 [(长度)] [ASC | DESC]) [USING 索引方法]; 或 CREATE  [UNIQUE | FULLTEXT | SPATIAL]  INDEX  索引名 ON  表名(字段名) [USING 索引方法]; 示例一: -- 假设建表时fileuploadercode字段没创建索引(注:同一个字段可以创建多个索引,但一般情况下意义不大) -- 给projectfile表中的fileuploadercode创建索引 ALTER TABLE projectfile ADD UNIQUE INDEX (fileuploadercode); 示例二: ALTER TABLE projectfile ADD INDEX (fileuploadercode, projectid); 示例三: -- 将id列设置为主键 ALTER TABLE index_demo ADD PRIMARY KEY(id) ; -- 将id列设置为自增 ALTER TABLE index_demo MODIFY id INT auto_increment;