一、创建索引

创建主键约束

  • 第一种方式:

在创建表的时候加上约束

create table user(id int primary key,name varchar(32));

第二种方式

在创建表的时候加上 指定主键

create table user(id int name varhcha(32) ,primary key(32));

第三种方式

在创建表时不指定主键在创建完附加主键约束

create table user(id int,name varhcar (30));
 alter user add primary key(id);

主键索引的特点:

一个表中,最多有一个主键索引,当然可以使符合主键 主键索引的效率高(主键不可重复) 创建主键索引的列,它的值不能为null,且不能重复 主键索引的列基本上是int

创建唯一键约束

在创建表的 在对应的字段名后加上唯一键约束

create table user(id int primary key ,namevarhcar(332) unique);

在创建表的在一行加上唯一键约束 create table user(id int primary key,name

varchar(32),unqiue(name));

在创建表后加上唯一键约束

create table user(id int primary key,name varchar(32));
 alter table user add unique(name);

创建普通约束

创建表的时候在表的最后指定表的普通索引

create table user (id int primary key, namevarchar(32),index(name));

创建表后修改的索引约束

create table user(in int primary key,name varchar(32));
 alter table user add index(name);

创建主表然后创建一个名为index的索引

create table user(id int primary key,namevarchar(32));
 create index index_name on user(name);

普通索引的特点:
一个表中可以有多个普通索引,普通索引在实际开发中用的比较多
如果某列需要创建索引,但是该列有重复的值,那么我们就应该使用普通索引

索引创建原则

比较频繁作为查询条件的字段应该创建索引
唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
更新非常频繁的字段不适合作创建索引

不会出现在where子句中的字段不该创建索引

二、索引查询

第一种方式

show keys from 表明;

sql多个字段建主键索引 sql创建主键索引_sql多个字段建主键索引


结果显示第一个索引为主键索引,第二个索引为普通索引对于这张表有两个B+索引树

第二种方式

show index from 表名;

sql多个字段建主键索引 sql创建主键索引_mysql_02


结果显示上边结果差不多

第三种方式

desc 表名显示表的简单信息

sql多个字段建主键索引 sql创建主键索引_sql_03

三、删除表索引信息

删除表的主键索引
alter table 表明 drop primary key;

sql多个字段建主键索引 sql创建主键索引_mysql_04


删除表的主键索引查询时没有了主键索引。

删除普通索引
alter table 表明 drop index 索引名字;

sql多个字段建主键索引 sql创建主键索引_sql多个字段建主键索引_05


结果显该表已经没有所以信息。

删除创建的索引

sql多个字段建主键索引 sql创建主键索引_主键_06