在mysql中,我們可以使用set類型定義一個集合。在數(shù)據(jù)庫中,我們常常需要用到一些枚舉類型,例如性別(男/女)、地區(qū)(華北/華南/華東)等等。這些枚舉類型一般使用set類型進行定義。
CREATE TABLE student ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, sex SET('男','女') NOT NULL, PRIMARY KEY (id) );
上面的代碼定義了一個student表,其中sex字段的類型為set,它只能選擇男或女兩種性別,不能選擇其他的值。
我們可以使用INSERT語句向student表中插入數(shù)據(jù):
INSERT INTO student (name, sex) VALUES ('張三', '男'); INSERT INTO student (name, sex) VALUES ('李四', '女');
我們可以使用SELECT語句查詢student表中的數(shù)據(jù):
SELECT * FROM student;
查詢結(jié)果如下:
+----+--------+------+ | id | name | sex | +----+--------+------+ | 1 | 張三 | 男 | | 2 | 李四 | 女 | +----+--------+------+
使用set類型定義字段時,需要注意以下幾點:
- set類型字段的值是用逗號分隔的字符串。
- set類型字段的值是按照定義時的順序來排序的。
- 在定義set類型字段時,必須給出所有可能的取值。
- set類型字段的值最多只能有64個元素。