MySQL的ENUM數據類型是指枚舉類型,用于在表中定義一個包含固定值的列。枚舉類型是一種非常有用的數據類型,因為它可以限制數據輸入的范圍,同時占用的空間比字符串或數字類型少。
CREATE TABLE example ( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, name ENUM('example1', 'example2', 'example3') NOT NULL, PRIMARY KEY(id) );
上面的代碼定義了一個名為example的表,其中有一個名為name的列,其類型為ENUM,其中的值限定為'example1'、'example2'、'example3'。在插入數據時,只能插入指定的枚舉值,否則將導致插入失敗。
例如:
INSERT INTO example (name) VALUES ('example1'); -- 正確插入 INSERT INTO example (name) VALUES ('example4'); -- 插入失敗,因為example4不是枚舉值之一
ENUM類型的參數可以有一個或多個,每個都必須是不區分大小寫的字符串。
在查詢時,可以通過WHERE子句篩選特定的ENUM枚舉值:
SELECT * FROM example WHERE name='example2';
枚舉類型在MySQL中還有一些其它用途,如允許通過枚舉類型指定列的默認值。如果列的其他值不被指定,那么該列將被賦予默認值:
CREATE TABLE example ( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, name ENUM('example1', 'example2', 'example3') NOT NULL DEFAULT 'example1', PRIMARY KEY(id) );
上面的代碼定義了一個與之前相同的表,但是在定義name列時添加了DEFAULT 'example1',這意味著如果不指定name列的值,則默認為'example1'。
上一篇mysql中emum
下一篇jquery 車號錄入