gpt4 book ai didi

mysql - 从 MySQL 表中以逗号分隔的列获取不同的值?

转载 作者:行者123 更新时间:2023-11-29 07:10:02 24 4
gpt4 key购买 nike

我在 MySQL 表中有一列由逗号分隔的字符串组成。我想将此列转换为列中出现的一组不同的字符串(对于表中的任何行——该集合包括出现在该列中表的任何行中的字符串)。实现此目的最简单的方法是什么?

解决方案不需要是纯 MySQL。它可能涉及 unix、perl 等。

最佳答案

您可以使用 SELECT INTO OUTFILEsedLOAD DATA 从逗号分隔的列中快速获取不同字符串的列表INFILE.

基本上,您希望将文本数据转储到一个平面文件中,使用逗号作为行分隔符,以便在将每个字符串加载回数据库时将其视为单独的行。然后将提取的值加载到新表中并选择不同的值。

在我的脑海中,代码看起来像这样:

select str 
into outfile
'/tmp/your_table_data.txt'
lines terminated by ','
from your_table;

sed -e 's/\\,/,/g' -e 's/,$//' /tmp/your_table_data.txt > /tmp/commadelimited.txt

create table your_table_parsed(str text);

load data infile '/tmp/commadelimited.txt'
ignore into table your_table_parsed
fields terminated by ','
lines terminated by ',';

select distinct str from your_table_parsed;

关于mysql - 从 MySQL 表中以逗号分隔的列获取不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com