MySQL使用ENUM和SET類型

使用ENUM和SET類型

概述
定義數據庫列時,可以使用ENUM(enumeration,枚舉)和SET(集合)類型。通過它們,可以變通的實現CHECK約束
它們兩者的區別是:使用ENUM,只能選一個值;使用SET,可以選多個值
ENUM和SET中的值都必須是字符串類型

enum枚舉
枚舉只能是字符串列,後邊沒有數據類型
示例:
create table t5 (id int,name varchar(10),sex enum(‘f’,‘m’)); ##設置sex列不是f就是m

在內部存儲ENUM值時,MYSQL給ENUM中的每個值一個順序號碼。第一個值的順序號碼是1,第二個值的順序號碼是2,以此類推。當排序或比較ENUM的時候,使用這些順序號碼進行

set類型
跟enum大體相似,比較少用
示例:
CREATE TABLE teams_new(
teamno INTEGER NOT NULL,
playerno INTEGER NOT NULL,
division SET(‘first’,‘second’,‘third’,‘fourth’)
);

INSERT INTO teams_new VALUES(1,27,‘first’);
INSERT INTO teams_new VALUES(2,27,‘first,third’);
INSERT INTO teams_new VALUES(4,27,NULL);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章