首页 理论教育MySQL数据库设计与实现:快速创建索引

MySQL数据库设计与实现:快速创建索引

【摘要】:表示索引为唯一性索引。指索引的长度,必须是字符串类型才可以使用。如果在创建索引时没写索引名称,MySQL会自动用字段名作为索引名称。其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

在MySQL中创建表的时候,可以直接创建索引。基本的语法格式如下:

其中各参数的含义如下:

➢ UNIQUE:可选。表示索引为唯一性索引。

➢ FULLTEXT;可选。表示索引为全文索引。

➢ SPATIAL:可选。表示索引为空间索引。

➢ INDEX和KEY:用于指定字段为索引,两者选择其中之一就可以了,作用是一样的。

➢ 索引名:可选。给创建的索引取一个新名称。

➢ 字段名1:指定索引对应的字段的名称,该字段必须是前面定义好的字段。

长度:可选。指索引的长度,必须是字符串类型才可以使用。

➢ ASC:可选。表示升序排列。(www.chuimin.cn)

➢ DESC:可选。表示降序排列。

如果在创建索引时没写索引名称,MySQL会自动用字段名作为索引名称。

在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。

1.ALTER TABLE

ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。

其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。

2.CREATE INDEX

CREATE INDEX可对表增加普通索引或UNIQUE索引。

table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。