我有大信息表。我想以 json 格式导出它用于其他目的。我可以使用以下命令以 xml 格式导出。
mysql -u root -p --xml -e "SELECT * FROM db_name.tbl_name"> d:\export.xml
我尝试了类似下面的 json 格式。
mysql -u root -p --json -e "SELECT * FROM db_name.tbl_name"> d:\export.json
我收到错误消息 unknown option '--json'
PS:由于表太大,我无法使用任何第三方应用程序,如 PHPMyadmin/workbench/SQLyog。
如果你能帮助我,我将不胜感激。
最佳答案
mysql无法直接输出json格式
所以你有两个选择:
以 XML 导出,使用工具将 XML 转换为 JSON(当然是可以处理大表的工具)
编写一个小脚本(例如在 PHP 中)从数据库中获取数据并将其写入 JSON 文件
重要提示:
如果您选择选项 nr。 (2) 如果您有很多记录,您可能无法在单个“原子”步骤中加载整个表数据、转换为 JSON 并保存到文件。
但是您可以将任务分解为多个步骤。
基本上,转换为 JSON 的表是一个对象数组,每个对象代表一条记录。
打开数据库连接
开始写入输出文件并通过写入左方括号
打开数组[
执行您的查询,一次获取 n ( 1 < n < 1000 ) 条记录。 (为了做到这一点,您必须按任何字段
SORT
表 - 例如。id
- 并使用LIMIT
子句)用
json_econde
转换每条记录,将字符串写入文件,写一个逗号,
除非你写了最后一条记录。返回3,直到到达最后一条记录。
将右方括号写入文件
]
(关闭数组)。关闭文件和数据库连接
这需要更多的编码,但这不是火箭科学。
...也许您会在网上找到一些已经这样做的东西。
更新:
可以在 GitHub 上的此处找到从数据库获取数据并将其写入 JSON 文件的脚本:Dump-table-to-JSON (最后更新于 2016 年)。
关于php - 通过命令行或 PHP 以 json 格式导出 mysql 数据库/mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40102747/