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

20jt8wwn  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(287)

我有一个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?
我正在使用一个名为tableplus的db客户端,它们的json导出很奇怪,会破坏日期:\

5us2dqdw

5us2dqdw1#

您可以将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。

相关问题