mysql json查询结果导出到json文件的最佳方法?

时间:2018-12-28 22:21:33

标签: mysql mongodb

我有一个json查询,可为我提供人和宠物联接表的json:

SELECT json_object(
  'personId', p.id,
  'pets', json_arrayagg(json_object(
    'petId', pt.id,
    'petName', pt.name
  ))
  )
FROM person p LEFT JOIN pets pt
ON p.id = pt.person_id
GROUP BY p.id;

什么是将结果导出到json文件(我可以使用mongoimport将其加载到mongo的最佳方式)的最佳方法?

im使用一些名为TablePlus的数据库客户端,并且其json导出很奇怪,破坏了日期:\

1 个答案:

答案 0 :(得分:0)

您可以将SQL查询的结果导出到运行mysql实例的服务器上托管的文件中,该文件的查询如下:

SELECT ... FROM ... WHERE ...
INTO OUTFILE '/tmp/my_query.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

如果您的mysql服务器在启用选项-secure-file-priv的情况下运行,则可以写入文件的位置受到限制。使用以下命令查看允许的位置,并相应地调整INTO OUTFILE子句:

SHOW VARIABLES LIKE "secure_file_priv";

一旦您将数据导出为CSV格式,则可能需要使用其他工具(如php,perl或python)将其重新格式化为正确的JSON。