在mysql中,可以利用“create unique index 索引名稱 on 表名(字段名稱)”語句增加唯一索引;唯一索引與普通索引類似,唯一的區(qū)別是添加唯一索引的值必須是唯一的,允許有空值,若是組合索引,則列值的組合必須唯一。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql怎么增加唯一索引
create?unique?index?索引名稱?on?表名(字段名稱)
Mysql索引大概有五種類型:
-
普通索引(INDEX):最基本的索引,沒有任何限制
-
唯一索引(UNIQUE):與”普通索引”類似,不同的就是:索引列的值必須唯一,但允許有空值。
-
主鍵索引(PRIMARY):它 是一種特殊的唯一索引,不允許有空值。
-
全文索引(FULLTEXT ):可用于 MyISAM 表,mysql5.6之后也可用于innodb表, 用于在一篇文章中,檢索文本信息的, 針對較大的數(shù)據(jù),生成全文索引很耗時(shí)和空間。
-
聯(lián)合(組合)索引:為了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則。
這里我們來看下唯一索引。
之前我們看了主鍵索引,他是一種特殊的唯一索引,二者的區(qū)別是,主鍵索引不能有空值,但是唯一索引可以有空值。
一:基本使用
1:唯一索引可以是單列,也可以是多列,下面我們來看下創(chuàng)建語句:
#?創(chuàng)建單列唯一索引 alter?table?sc?add?unique?(name); #?創(chuàng)建多列唯一索引 alter?table?sc?add?unique?key?`name_score`?(`name`,`score`);
2:刪除唯一索引語句:
alter?table?sc?drop?index?name;
在這里插入代碼片
二:唯一索引作用
1:最大的所用就是確保寫入數(shù)據(jù)庫的數(shù)據(jù)是唯一值。
單列唯一值基本上就是主鍵。
常用的一般都是多列的唯一索引,比如:當(dāng)前商品,一個用戶只能購買一件。我們將用戶id及商品id列設(shè)置成唯一索引。那么就可以避免一個用戶出現(xiàn)重復(fù)購買的情況。
推薦學(xué)習(xí):mysql視頻教程