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

原文地址:https://www.cnblogs.com/myheart-new/p/11950331.html