数据库学习_mysql server_pymysql_SQL插入数组时的中括号问题

问题描述

在MySQL中通过字符串(text)数据类型储存一个列表(数组时),两边带有[]中括号
导致FIND_IN_SET()语句无法生效

解决经历

先是简单粗暴的将list转换为str,然后通过切片去除两边的中括号
但单个数据时,不存在中括号,切片会导致数据不完整。

使用for循环逐个添加的话,结尾可能会多一个逗号,处理起来比较复杂

最终解决

后来在网上搜索资料了解到一个python函数

join()函数
语法: ‘sep’.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串

示例

list=[2021,2020,2019]
liststr = ','.join(str(i) for i in list)
print(liststr)

2021,2020,2019

其他知识

FIND_IN_SET(str,strlist)
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8)
查询字段(strlist)中包含(str)的结果,返回结果为null或记录

上一篇:在地址栏里输入一个URL,到这个页面呈现出来,中间会发生什么?


下一篇:python enumerate() 函数给可遍历的数据对象添加索引