mysql之索引

Posted _小溢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql之索引相关的知识,希望对你有一定的参考价值。

 

 

 

 

 

-- 有了表之后单独为这个表的字段追加一个普通索引的方法,为t1表的id字段创建一个普通索引,起名为idx_id
create index idx_id on t1(id);

 

# 创建t1表,设置id字段为普通索引,可以用key关键字也可以用index都可以作为普通索引关键字
create table t1(
    id int not NULL,
    name varchar(50),
    key idx_id (id)    -- 创建了一个普通索引,索引名字为idx_id,id字段创建为索引
)

-- 查看索引
show INDEX from t1;

 

-- 删除普通索引,删除t1表中的idx_id普通索引
drop index idx_id on t1;

 

 

(1)创建表时,创建唯一索引

-- 创建表的时候,就创建好唯一索引,unique关键字,指定id字段为唯一索引,起名为idx_id
create table t2(
    id int not null,
    name VARCHAR(50),
    UNIQUE index idx_id (id)
)

(2)为一 个表的字段追加唯一索引

-- 有了表后,为一一个表中的字段创建唯一索引,这里创建的是唯一组合索引,起名为idx_id
create UNIQUE index idx_id on t1(id, name);

(3)删除唯一索引

-- 删除t1表中的idx_id索引,所有的索引删除方式,除了主键删除方式都是这个
drop index idx_id on t1;

 

 3.主键索引(加速查找+唯一约束,不能为null)

  一张表中只能有一个主键索引

(1)创建表时添加主键索引

-- 创建表的时候创建主键索引,主键索引不能指定名称,整个表只能有一个主键索引
create table t2(
    id int not null PRIMARY key,
    name VARCHAR(50)
)

-- 创建表的时候,创建主键索引
create table t2(
    id int not null,
    name VARCHAR(50),
    PRIMARY KEY(id)
)

(2)为一个表添加主键索引

 

-- 为t1表的id字段设置为主键索引
alter table t1 add PRIMARY KEY(id);

(3)删除主键索引

-- 删除t1表中的主键索引
alter table t1 drop PRIMARY KEY;

4.组合索引(加速查找)

  组合主键索引、组合唯一索引、组合普通索引

  创建索引时的字段不是1个是多个字段时就是组合索引了

 

 

 

 

 

 

 

 

 

 

 delimiter$$:可以将sql语句中的语句结束符符号变成$符

delimiter;:将sql语句中的语句结束符符号变成为;

 

 

 

 

 

 

 

 

以上是关于mysql之索引的主要内容,如果未能解决你的问题,请参考以下文章

Mysql实战篇之普通索引和唯一索引--01

mysql 优化之索引的使用

MySQL之索引

MySQL 之索引类型

MySQL 之索引类型

mysql之高性能索引