8、mysql索引
一、普通索引
1、创建索引
create index index_name on table_name(username(length));
2、修改表结构(添加索引)
alter table table_name add index index_name(column_name);
3、创建表的时候直接指定
create table table_name (
id int not null,
username varchar(16) not null,
index [index_name] (username(length))
);
4、删除索引的语法
drop index [index_name] on table_name;
二、唯一索引
索引列的值必须唯一,允许为空;如果是组合索引,则列值的组合必须唯一。
1、创建索引
create unqiue index index_name on table_name(username(length));
2、修改表结构
alter table table_name add unique [index_name] (username(length));
3、创建表的时候直接指定
create table table_name(
id int not null,
username varchar(10) not null,
unique [index_name] (username(length))
);
三、使用alter命令添加和删除索引
四种方式:
alter table table_name add primary key(column_list);创建主键,索引值唯一且不为空
alter table table_name add unique index_name(column_list);创建唯一索引,可为空
alter table table_name add index index_name(column_list);创建普通索引
alter table table_name add fulltext index_name(column_list);指定索引为fulltext,用于全文索引
四、使用alter命令添加删除主键
主键只能作用于一个列上,添加主键索引时,确保主键索引默认不为空
alter table table_name modify i int not null;
alter table table_name add primary key (i);
alter table table_name drop primary key;
五、显示索引信息
使用show index命令列出表中相关的索引信息,可以通过添加\G来格式化输出信息
show index from table_name;\G