在MySQL中,定義一個數組需要使用 SET 類型的數據類型。SET類型是MySQL中一種用于存儲集合值的數據類型,可存儲最多64個不同的值,每個值所占用的空間都是固定的。SET類型可以被用于存儲用戶在多個選項中所選擇的選項值。
CREATE TABLE student( id INT, name VARCHAR(20), hobby SET('basketball', 'traveling', 'reading') );
上面的SQL語句中定義了一個名為student的表,其中hobby列使用了SET類型,它有三個選項:basketball、traveling和reading。當用戶往這個表中插入數據時,可以選擇將hobby列設置為其中一個或多個選項值。
INSERT INTO student(id, name, hobby) VALUES(1, 'Jack', 'basketball,reading'); INSERT INTO student(id, name, hobby) VALUES(2, 'Tom', 'traveling');
上面的SQL語句中向student表中分別插入了兩條數據,其中Jack選擇了basketball和reading這兩個選項作為他的愛好,而Tom則選擇了traveling作為他的愛好。
當需要查詢出擁有某個選項愛好的學生時,可以使用MySQL中的FIND_IN_SET函數:
SELECT * FROM student WHERE FIND_IN_SET('traveling', hobby)>0;
上面的SQL語句會查詢出擁有traveling這個選項愛好的學生,結果為Tom這一個學生。
上一篇mysql數據庫中建庫