1. 程式人生 > >mysql之索引(一)

mysql之索引(一)

組合索引 pri drop weight var unique 分享圖片 bold key

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

-- 有了表之後單獨為這個表的字段追加一個普通索引的方法,為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之索引(一)