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个是多个字段时就是组合索引了

 

猜你喜欢

转载自www.cnblogs.com/whylinux/p/9942468.html