mysql字段存储list
时间: 2023-08-15 11:07:52 浏览: 54
在 MySQL 中存储列表可以使用以下两种方法:
1. 使用 JSON 数据类型
MySQL 5.7 及以上版本支持 JSON 数据类型,可以将数组或列表存储为 JSON 格式的字符串。例如,可以创建一个包含 JSON 列的表:
```
CREATE TABLE mytable (
id INT,
mylist JSON
);
```
然后可以将列表转换为 JSON 字符串并插入表中:
```
INSERT INTO mytable (id, mylist) VALUES (1, '[1, 2, 3, 4, 5]');
```
查询时,可以使用 JSON 函数解析 JSON 字符串:
```
SELECT JSON_EXTRACT(mylist, '$[0]') FROM mytable WHERE id = 1;
```
该查询将返回列表中的第一个元素。
2. 使用多行存储
另一种方法是使用多行存储,即将列表的每个元素存储为表中的一行。例如,可以创建一个包含列表元素的表:
```
CREATE TABLE mytable (
id INT,
list_item INT
);
```
然后可以将列表中的每个元素插入表中:
```
INSERT INTO mytable (id, list_item) VALUES (1, 1);
INSERT INTO mytable (id, list_item) VALUES (1, 2);
INSERT INTO mytable (id, list_item) VALUES (1, 3);
INSERT INTO mytable (id, list_item) VALUES (1, 4);
INSERT INTO mytable (id, list_item) VALUES (1, 5);
```
查询时,可以使用 GROUP_CONCAT 函数将行合并为列表:
```
SELECT GROUP_CONCAT(list_item SEPARATOR ',') FROM mytable WHERE id = 1;
```
该查询将返回列表的逗号分隔字符串。