用mysql单个字段类型为字符串存储[ [ 33, 34, 35 ], [ 36, 37, 38 ], [ 42, 41, 31, 32 ], [ 45, 44, 43 ], [ 48, 47, 46 ] ],如何解决
时间: 2024-06-13 20:08:16 浏览: 118
以下是将字符串类型的单个字段拆分为多个字段的MySQL语句:
```mysql
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(需要截取的字段, ',', 行数 + 1), ',', -1) AS 字段别名
FROM 表
WHERE 行数 < LENGTH(需要截取的字段) - LENGTH(REPLACE(需要截取的字段, ',', '')) + 1;
```
将上述语句中的“需要截取的字段”替换为存储字符串的字段名,将“表”替换为存储该字段的表名,然后执行该语句即可将单个字段字符串集合拆分为多个字段。
如果要将给定的列表存储到MySQL中的单个字符串字段中,可以使用Python将列表转换为JSON字符串,然后将该字符串插入到MySQL中的单个字符串字段中。例如,假设要将以下列表存储到MySQL中的单个字符串字段中:
```
[[33, 34, 35], [36, 37, 38], [42, 41, 31, 32], [45, 44, 43], [48, 47, 46]]
```
可以使用以下Python代码将其转换为JSON字符串并将其插入到MySQL中的单个字符串字段中:
```python
import json
import mysql.connector
# 将列表转换为JSON字符串
my_list = [[33, 34, 35], [36, 37, 38], [42, 41, 31, 32], [45, 44, 43], [48, 47, 46]]
json_str = json.dumps(my_list)
# 将JSON字符串插入到MySQL中的单个字符串字段中
cnx = mysql.connector.connect(user='username', password='password', host='host', database='database')
cursor = cnx.cursor()
query = "INSERT INTO table (string_field) VALUES (%s)"
cursor.execute(query, (json_str,))
cnx.commit()
cursor.close()
cnx.close()
```
阅读全文