通过命令行或PHP以json格式导出mysql数据库/mysql表
我有一张很大的信息表。我想将其导出为json格式以用于其他目的。我可以使用下面的命令以xml格式导出通过命令行或PHP以json格式导出mysql数据库/mysql表,php,mysql,json,Php,Mysql,Json,我有一张很大的信息表。我想将其导出为json格式以用于其他目的。我可以使用下面的命令以xml格式导出 mysql-u root-p--xml-e“从db_name.tbl_name中选择*”>d:\export.xml 对于json格式,我尝试了以下类似的方法。 mysql-u root-p--json-e“从db_name.tbl_name中选择*”>d:\export.json 我收到了错误消息unknown option'--json' PS:由于表太大,我无法使用任何第三方应用程序,如P
mysql-u root-p--xml-e“从db_name.tbl_name中选择*”>d:\export.xml
对于json格式,我尝试了以下类似的方法。
mysql-u root-p--json-e“从db_name.tbl_name中选择*”>d:\export.json
我收到了错误消息unknown option'--json'
PS:由于表太大,我无法使用任何第三方应用程序,如PHPMyadmin/workbench/SQLyog
如果您能在这方面帮助我,我们将不胜感激。mysql无法直接以json格式输出 所以你有两个选择: 1) 用XML导出使用工具将XML转换为JSON(当然,这是一个可以处理大型表的工具) 2) 编写一个小脚本(例如PHP),从数据库中获取数据并将其写入JSON文件 重要提示: 如果选择选项nr.(2),如果有大量记录,则在加载整个表数据、转换为JSON并在单个“原子”步骤中保存到文件时可能会遇到问题 但是,您可以将任务分解为多个步骤 基本上,转换为JSON的表是一个对象数组,每个对象表示一条记录
[
排序,例如id
,并使用限制
子句)
json\u econde
转换每条记录,将字符串写入文件,写入逗号,
,除非已写入最后一条记录]
(结束数组)可以在GitHub上找到从DB获取数据并将其写入JSON文件的脚本:您可以使用Mysql Shell直接输出到JSON
echo "[Your SQL query]" | mysqlsh --sql --result-format=json --uri=[username]@localhost/[schema_name]
我会写PHP脚本。但是数据量太大了。因此脚本无法完成此过程。非常感谢您的详细回答。如果我没有找到任何其他选项,我将使用您的答案。@Naga请参阅我的更新,以获取从数据库获取数据并以JSON格式写入文件的现成脚本