利用Shell脚本将MySQL表中的数据转化为json格式
来源:互联网 发布:光头大大捏脸数据网盘 编辑:程序博客网 时间:2024/05/21 17:19
脚本如下:
#!/bin/bashmysql -s -phello test >1.log <<EOFdesc t1;EOFlines="concat_ws(',',"count=`cat 1.log|wc -l`linenum=0while read linedo coloumname=`echo $line |awk '{print $1}'` let linenum=linenum+1 if [ $linenum -eq 1 ];then lines=$lines"concat_ws(':','{"'"'$coloumname'"'"',if("$coloumname" is null or $coloumname='','null',concat('"'"'"',$coloumname,'"'"'"')))" elif [ $linenum -eq $count ];then lines=$lines",concat_ws(':','"'"'$coloumname'"'"',if("$coloumname" is null or $coloumname='','null}',concat('"'"'"',$coloumname,'"'"'"}'))))" else lines=$lines",concat_ws(':','"'"'$coloumname'"'"',if("$coloumname" is null or $coloumname='','null',concat('"'"'"',$coloumname,'"'"'"')))" fidone < 1.logecho $lines
表t1中的数据如下:
mysql> select * from t1;+------+-------+| id | name |+------+-------+| 1 | || 1 | NULL || 2 | hello |+------+-------+3 rows in set (0.00 sec)
脚本执行的结果如下:
concat_ws(',',concat_ws(':','{"id"',if(id is null or id='','null',concat('"',id,'"'))),concat_ws(':','"name"',if(name is null or name='','null}',concat('"',name,'"}'))))
在MySQL中执行的结果如下:
mysql> select concat_ws(',',concat_ws(':','{"id"',if(id is null or id='','null',concat('"',id,'"'))),concat_ws(':','"name"',if(name is null or name='','null}',concat('"',name,'"}')))) json_format from t1;+---------------------------+| json_format |+---------------------------+| {"id":"1","name":null} || {"id":"1","name":null} || {"id":"2","name":"hello"} |+---------------------------+3 rows in set (0.00 sec)
技巧:关于shell脚本中单引号和双引号的区别
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。
单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。(注意是所有,只是单引号本身不能够出现在其中)。
双引号用于保持引号内所有字符的字面值(回车也不例外),但以下情况除外:
$加变量名可以取变量的值
反引号仍表示命令替换
\$表示$的字面值
\`表示`的字面值
\"表示"的字面值
\\表示\的字面值
除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值。
0 0
- 利用Shell脚本将MySQL表中的数据转化为json格式
- java 将数据库中的数据转化为easyUI treegrid json格式
- 将json转化为lua中的表
- 将json转化为lua中的表
- dom4j将数据库中的数据转化为xml格式
- 利用python将json数据转换为csv格式
- 如何将字符串转化为json格式
- java 将 ResultSet 转化为 json格式
- 将对象转化为JSON格式字符串
- 利用exceljs将excel转化为json
- java将数据转化成json格式
- java将数据转化成json格式
- java对象转化为json格式数据
- 后台将对象转换为json格式,前台js解析json数据,将字符串转化为数组
- 如何将数据转化为XML格式
- 利用Struts2框架,将后台数据转化为JSON数据并返回到前台
- php怎么将数组数组转化为json格式的数据
- 利用xls-to-json将excel转化为json
- 基于表的数据字典构造MySQL建表语句
- 关于update set from where
- JDBC常用API小结
- (转)运维角度浅谈MySQL数据库优化
- 恢复MySQL主从数据一致性的总结
- 利用Shell脚本将MySQL表中的数据转化为json格式
- Android 中Timer的用法
- 如何在制作jar包时引用第三方jar包
- Java动态代理
- java 中static 关键字的 用处
- MySQL的分页优化
- MySQL监控利器-Innotop
- UIWindow的一点儿思考
- 简书APP、网页版产品分析