我尝试导入一个JSON文件,该文件如下所示:
[
{
"executionDateTime":"2017-07-07 15:21:15",
"A":1,
"B":1
},
{
"executionDateTime":"2017-07-07 15:21:15",
"A":2,
"B":2
},
{
"executionDateTime":"2017-07-07 15:21:15",
"A":3,
"B":3
},
{
"executionDateTime":"2017-07-07 15:21:15",
"A":4,
"B":4
}]
字符串
我想将上面的文件导入到mySQL DB中,并希望我的表看起来像这样:
executionDateTime A B
2017-07-07 15:21:15 1 1
2017-07-07 15:21:15 2 2
2017-07-07 15:21:15 3 3
2017-07-07 15:21:15 4 4
型
我已经尝试了下面的查询这样做(这将为我工作,如果文件格式是CSV),但它没有工作。
LOAD DATA local INFILE '<path>/my_file.json'
INTO TABLE database_name.my_table FIELDS TERMINATED BY ','
ENCLOSED BY '"'LINES TERMINATED BY '\n' IGNORE 1 ROWS;
型
上面的查询给了我一个如下所示的表:
的数据
(我知道,mySQL有一个导入文件的内置函数,但我不想使用该函数,查询是我要找的...:)
请建议,如果有人不得不面对这样的问题,并得到了解决方案。请不要标记为重复的问题,而没有给出一个实际上工作的解决方案。
很感谢。
4条答案
按热度按时间hm2xizp91#
参考:https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html
我知道这是一个老的线程,但MySQL 5.7现在有一个JSON类型,你可以将JSON导入到一个字段中,然后你可以使用计算字段将JSON分割成单独的字段。下面是粗略的代码(未经测试):
创建一个JSON测试表:
字符串
将JSON导入到JSON字段中:
型
拆分您的数据(这可以合并到一个命令中)
型
如果你不想有额外的字段,你可以像这样查询jsondata字段:
型
9avjhtql2#
我希望在不久的将来有一个MySQL的本地功能。
一个选项(不是简单的查询)类似于下面的脚本(根据需要调整)。根据项目的数量可能会有性能问题。
文件:
/path/to/file/loadsetProfile.json
:字符串
MySQL命令行:
型
6jjcrrmo3#
我正在使用这个网页,它将json文件转换为sql文件,然后,我在toad mysql中执行脚本并工作。
我正在使用的网站的URI是converter web
50pmv0ei4#
GUI中有一种原生方式,您可以在其中导入/导出CSV和JSON文件。步骤1.启动WorkBench步骤2.导航到SQL架构步骤3.选择表步骤4.选择表后,查找一个标有结果网格的图标,该图标在悬停在表上时显示(显示表中的列,并在编辑选项旁边寻找一个小的导入图标)enter image description here 5.确保为值选择正确的列,瞧,工作75%其他25%的时间我只是复制和粘贴整个文件到 Postman 。