MySql 表转成 JSON 格式

标签 mysql json migration

我想将大约 100 个表从 MySql 转换为 MongoDb
所以我认为最简单的方法是将数据导入为 JSON
任何不使用 PHP/ruby/Python 将 MySql 数据转换为 JSON 格式的通用查询?

SELECT CONCAT(CONCAT('{"CompanyId":', company_id),"}")  AS JSON FROM company;

最佳答案

试试这个:

SET @schema = 'test_db';
SET @table = 'test';

SELECT CONCAT(
  'SELECT CONCAT(TRIM(TRAILING ', QUOTE(','), ' FROM CONCAT(', QUOTE('{'), ',', 
  GROUP_CONCAT(QUOTE('"'), ',', QUOTE(COLUMN_NAME), ',', 
  QUOTE('"'), ',', QUOTE(':'), ',', QUOTE('"'), ',', COLUMN_NAME, ',', 
  QUOTE('"'),',', QUOTE(',')),
  ')), ''}'') FROM ', @table
)
INTO @qry FROM 
  (SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c
  WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table) t;

SELECT @qry;
PREPARE stmt FROM @qry;
EXECUTE stmt;

以上查询生成 JSON 格式的表格数据。使用该查询,您可以准备一个存储过程,将数据库和表名作为输入参数并填充您的数据。如果要排除表中的某些列,只需修改从 INFORMATION_SCHEMA 数据库中选择数据的查询,例如 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @表 AND COLUMN_NAME NOT IN(**要排除的列**)

关于MySql 表转成 JSON 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836710/

相关文章:

ruby-on-rails - 分区数据库表的 Rails 迁移索引名称太长

php - 将 MySQL 结果转换为 JSON

mysql - 选择具有最大值的行(值由连接生成)

mysql - 将图片存储在MySQL数据库中

javascript - MongoDB 有问题的 JSON prop/field

c# - 有哪些适合 C#/Java 开发人员学习 native C/C++ 的好资源(最好是免费的)?

mysql - MYSQL中如何计算时间差

ruby-on-rails - 在 RABL 中使用 JSON 中的辅助方法?

javascript - Javascript 常用词

objective-c - 轻量级迁移麻烦 iOS