单值索引
即一个索引只包含单个列,一个表可以有多个单列索引
唯一索引
索引列的值必须唯一,但允许有空值
复合索引
即一个索引包含多个列
基本语法
创建索引
CREATE[UNIQUE]INDEX indexName ON mytable(columnname(length) #[UNIQUE]代表可以省略,如果创建唯一索引可以加上 #(columnname(length)如果只有一个代表的是单只索引,如果是多个的话代表复合索引 ALTER mytable ADD[UNIQUE] INDEX [indexName] ON (columnname(length)) #[UNIQUE]代表可以省略,如果创建唯一索引可以加上 #(columnname(length)如果只有一个代表的是单只索引,如果是多个的话代表复合索引
删除索引
DROP INDEX [indexName] ON mytable;
查看索引
SHOW INDEX FROM table_name;
使用ALTER命令
#有四种方式来添加数据表的索引: ALTER TABLE tbl name ADD PRIMARY KEYcolumn list): #该语添加一个主,意味着索引值必须是唯一的,且不能为NULL。 ALTER TABLE bl name ADD UNIQUE index name column #这条语句创建索的值须是唯-的 (除NULL外,NULL可能会出现多次)。 ALTER TABLE tbl_name ADDINDEXindex_name(column list): #添加普通索引,索引值可出现多次。 ALTER TABLE tbl_name ADD FULLTEXTindex_namecolumn list) #该语句指定了索引为 FULLTEXT,用于全文索引。
注意
-
优先使用复合索引,因为单例索引有时候可能会不够用,例如身份证信息表中的名字可能会重复
-
索引最好不要建立超过五个,