在MySQL中,存放集合的數據類型主要有兩種,分別是SET和ENUM。其中,SET表示一個集合,可包含最多64個不同的成員,而ENUM則表示枚舉類型,僅能包含預定義的少數幾個成員。
CREATE TABLE pet ( name VARCHAR(20), color SET('black', 'white', 'brown', 'blue', 'red', 'green') );
以上代碼定義了一個名為pet的表,其中color列的數據類型為SET,可包含的成員有黑色、白色、棕色、藍色、紅色、綠色等6種顏色。我們還可以向此表插入一些數據:
INSERT INTO pet (name, color) VALUES ('Fluffy', 'black,white'); INSERT INTO pet (name, color) VALUES ('Muffin', 'white,brown'); INSERT INTO pet (name, color) VALUES ('Tiger', 'black,white,brown');
以上代碼向pet表中插入了三條記錄,分別是Fluffy、Muffin、Tiger,它們各自的顏色由逗號分隔的集合表示。我們還可以使用SELECT語句查詢pet表,例如:
SELECT * FROM pet WHERE FIND_IN_SET('brown', color) >0;
以上代碼查詢了所有具有棕色成員的記錄,并返回它們的所有字段值。我們可以看到,SET數據類型在MySQL中十分實用,為我們的數據管理和查詢提供了方便。