MySQL中枚舉型數(shù)據(jù)庫(kù)的介紹
MySQL中支持的數(shù)據(jù)類型非常豐富,其中就包括枚舉類型。枚舉類型是一種用來(lái)表示有限個(gè)數(shù)值的數(shù)據(jù)類型,常用于定義只能取幾個(gè)選項(xiàng)中的一項(xiàng)的數(shù)據(jù)。例如,一個(gè)箱子的尺寸只能是小、中、大三種,這時(shí)我們可以使用ENUM('small', 'medium', 'large')來(lái)定義尺寸列的數(shù)據(jù)類型。
創(chuàng)建一個(gè)名為size的枚舉類型列,可以使用如下代碼:
CREATE TABLE box ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, size ENUM('small', 'medium', 'large') NOT NULL );
定義枚舉數(shù)據(jù)類型時(shí),必須指定可選值。在上述例子中,我們提供了三個(gè)可選值:
- small
- medium
- large
當(dāng)向size列插入數(shù)據(jù)時(shí),只能選擇這三個(gè)值中的一個(gè)。如果插入其他的值,會(huì)出現(xiàn)錯(cuò)誤提示。例如以下兩句代碼都會(huì)導(dǎo)致錯(cuò)誤:
INSERT INTO box (size) VALUES ('extra large'); INSERT INTO box (size) VALUES ('M');
枚舉型數(shù)據(jù)庫(kù)也可以設(shè)置默認(rèn)值。在上述例子中,可以指定medium為默認(rèn)值:
CREATE TABLE box ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, size ENUM('small', 'medium', 'large') NOT NULL DEFAULT 'medium' );
枚舉型數(shù)據(jù)庫(kù)還可以使用索引、外鍵等各種特性,與其他數(shù)據(jù)類型并無(wú)差別。但需要注意的是,不要濫用枚舉型數(shù)據(jù)庫(kù),因?yàn)樗鼤?huì)占用大量的存儲(chǔ)空間。