十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我试了,导出的数据本来是有换行符号的,但是是linux格式的换行符。
成都创新互联公司于2013年创立,先为两当等服务建站,两当等地企业,进行企业商务咨询服务。为两当企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
用记事本打开是没法看到换行符,所以内容都连成了一行。
所以你可以有两个办法:
1.用editplus打开文件去查看。
2.用查询拼个可视分隔符在后面:
select CONCAT(name, '|') from table into outfile '/test.txt';
还是推荐你用editplus等这些比较专业的编辑器,windows自带的那个记事本除了换行有问题,要是遇上utf8编码的文件也会显示乱码,最好不要用它做数据处理
拆分以逗号隔开的字符串,这是高级语言来处理的吧,数据库主要是存储数据的,比如php就可以这样实现:
$string = '1,2,3,4,5';
$array = explode(',',$string);
之后就得出一个数组,$array(1,2,3,4,5);
mysql查询含逗号的数据,将逗号拆分为多行展示:
原始数据如下:
现在因为新的需求,需要将这些数据转化为如下形式:
假设我们需要处理的表结构为:
使用如下sql语句即可实现需求:
查询的主要思路为,原表与一个包含连续自增长字段的表进行join,得到字符串分隔后的索引值,其中 length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1 语句获得字符串逗号分隔之后得到的数据长度,两表关联之后,会得到相应行数的数据。比如,
在join之后会得到:
之后对查询中的结果,使用substring_index方法进行截取,然后得到我们自己想要的数据。
MYSQL列中的数据查询命令:
SELECT *
FROM task_detatils
WHERE FIND_IN_SET( ‘1’, responsible_user)
命令的含义:将含有1的responsible_user列数据全部搜索出来。
采用的是find函数:查找一定范围内元素的个数。查找[first,last)范围内,与toval等价的第一个元素,返回一个迭代器。如果没有这个元素,将返回last。
扩展资料:
其他的查询命令:
在命令后键入搜索的模式,再键入要搜索的文件。其中,文件名列表中也可以使用特殊字符,如“*”等,用来生成文件名列表。
如果想在搜索的模式中包含有空格的字符串,可以用单引号把要搜索的模式括起来,用来表明搜索的模式是由包含空格的字符串组成。
否则,Shell将把空格认为是命令行参数的定界符,而grep命令将把搜索模式中的单词解释为文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式“text file”。
用户可以在命令行上用Shell特殊字符来生成将要搜索的文件名列表。在下面的例子中,特殊字符“*”用来生成一个文件名列表,该列表包含当前目录下所有的文件。该命令将搜索出当前目录下所有文件中与模式匹配的行。
参考资料来源:百度百科-Linux文件内容查询命令
参考资料来源:百度百科-find函数
MySQL
使用 GROUP_CONCAT 函数进行处理
查询:
SELECT
USER,
GROUP_CONCAT( PRODUCT )
FROM
表1
GROUP BY
USER
如果是表1数据插入表2的话
INSERT INTO 表2
SELECT
USER,
GROUP_CONCAT( PRODUCT )
FROM
表1
GROUP BY
USER
查询结果用引号逗号分隔。
这是使用MySQL以逗号分隔的列中包含引号的查询-mysqlselectconcat("'",replace(Name,",","','"),"'")ASIncludingQuotesfromDemoTable1407。