码迷,mamicode.com
首页 > 数据库 > 详细

mysql之索引(一)

时间:2018-11-11 16:54:08      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:技术   add   方法   建表   color   技术分享   查找   col   组合索引   

 

 技术分享图片

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

 技术分享图片

-- 有了表之后单独为这个表的字段追加一个普通索引的方法,为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个是多个字段时就是组合索引了

 

 

 

 技术分享图片

 

技术分享图片

 

mysql之索引(一)

标签:技术   add   方法   建表   color   技术分享   查找   col   组合索引   

原文地址:https://www.cnblogs.com/whylinux/p/9942468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!