2016年4月6日星期三

MySQL解析JSON数据

参考:https://segmentfault.com/a/1190000003941100

1、数据量不大的情况下可以直接使用linux中管道符提取出对应的字段存为另一个文件,然后load进mysql中。
数据格式如下:{"category":"热销菜品","name":"盐酥菇"}
我只要取name字段:
cat dish_name.info | sed 's/.*"name":"\(.*\)".*/\1\tnot_found/g' > dish_name.temp

2、使用common-schema
下载了common_schema-2.2.sql之后,有两种方法安装:
Within MySQL, issue:
mysql> SOURCE '/path/to/common_schema.sql';

From shell, execute:
bash$ mysql < /path/to/common_schema.sql

mysql --local-infile -u root -p 进入mysql:

mysql> create table temp(a varchar(255));
mysql> load data local infile '/home/dish_name_info' into table temp;
mysql> select common_schema.extract_json_value(temp.a, '/name') from temp;

可以使用该方法取到name中的结果,然后将结果写进新的表中。

没有评论:

发表评论