日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql alter 唯一键_MySQL列属性 之 唯一键

發布時間:2024/9/27 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql alter 唯一键_MySQL列属性 之 唯一键 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL列屬性 之 唯一鍵

唯一鍵

唯一鍵:每張表往往有多個字段需要具有唯一性,數據不能重復,但是在每張表中,只能有一個主鍵,因此 唯一鍵就是用來解決表中多個字段需要具有唯一性的問題。

例如身份證號碼應該每一行的記錄不一樣,需要具有唯一性。

唯一鍵的本質與主鍵差不多,唯一鍵允許字段為空,而且可以多個字段為空,因此空字段不參與唯一性的比較。也就是說可以插入多個空字段。

增加唯一鍵

增加唯一鍵的方法和主鍵類似,有 3 種方法,分別為:

第一種:在創建表的時候,字段后面直接添加unique或者unique key關鍵字

-- 增加唯一鍵

create table my_unique(

number char(10) unique comment '學號',

name varchar(20) not null

)charset utf8;

第 2 種:在所有字段之后,增加unique key(字段列表),可以設置復合唯一鍵

-- 測試唯一鍵

create table my_unique2(

number char(10) not null,

name varchar(20) not null,

unique key(number)

)charset utf8;

觀察上圖,咱們可能會發現一個問題,那就是: 咱們設置的唯一鍵UNI,怎么變成了主鍵PRI啊?這是由于當唯一鍵滿足非空條件的時候,其性質就和主鍵一樣啦,因此在表中顯示為PRI. 當然,在咱們執行如下 SQL 語句的時候,其就會表現出真正的性質:

-- 查看表創建語句

show create table my_unique2;

第 3 種:在創建表之后,增加唯一鍵

-- 創建未設置唯一鍵的表

create table my_unique3(

id int primary key auto_increment,

number char(10) not null,

name varchar(20) not null

)charset utf8;

如上圖所示,表my_unique3未設置唯一鍵。接下來,執行如下 SQL 語句,進行測試:

-- 增加唯一鍵

alter table my_unique3 add unique key(number);

如上圖所示,咱們已經成功向表中增加唯一鍵啦!

唯一鍵約束:允許多個值為空

唯一鍵與主鍵本質相同,區別在于: 唯一鍵允許字段值為空,并且允許多個空值存在。

-- 測試唯一鍵約束

insert into my_unique values(null,'Charies');

insert into my_unique values(null,'Guo');

更新唯一鍵 & 刪除唯一鍵

在表中,更新唯一鍵的時候,可以不用先刪除唯一鍵,因為表的唯一鍵允許有多個。

刪除唯一鍵的語法為:

基本語法:alter table + 表名 + drop index + 索引名字;

在這里,唯一鍵默認使用字段名作為索引名。

-- 刪除唯一鍵

alter table my_unique3 drop index number;

如上圖所示,顯然咱們已經成功刪除表中的唯一鍵啦!

溫馨提示:符號+表示連接的意思。

總結

以上是生活随笔為你收集整理的mysql alter 唯一键_MySQL列属性 之 唯一键的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。