mysql 虚拟表 json,MySql表成JSON格式

I would like to convert like 100 tables from MySql to MongoDb

So I think that the easiest way will be to import the data as JSON

Any generic query to convert MySql data to JSON format without using PHP /ruby/Python?

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

解决方案

Try this:

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;

Above query generates table data in JSON format. Using the query you can prepare a stored procedure taking database and table names as input parameters and populate your data. If you want to exclude some of the columns in a table, just modify the query which selects data from INFORMATION_SCHEMA database like SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table AND COLUMN_NAME NOT IN (**columns to exclude**).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值