攝影網(wǎng)站app云南seo簡(jiǎn)單整站優(yōu)化
Mysql更新blob存儲(chǔ)的Josn數(shù)據(jù)
記錄一次mysql操作blob格式存儲(chǔ)的json字符串?dāng)?shù)據(jù)
1、檢查版本
-- 版本5.7以上才可以能執(zhí)行json操作
select version();
2、創(chuàng)建測(cè)試數(shù)據(jù)
-- 創(chuàng)建測(cè)試表及測(cè)試數(shù)據(jù)
CREATE TABLE test_json_table AS SELECT
UUID(),
'{"test1": {"value": "1", "stringValue": "1"}, "test2": {"value": "2", "stringValue": "2"}, "test3": {"value": "3", "stringValue": "3"}}' datas;
-- 修改 datas字段類(lèi)型為 blob;
ALTER TABLE `test_json_table`
MODIFY COLUMN `datas` blob NOT NULL AFTER `UUID()`;
3、操作–查看數(shù)據(jù)
-- 查看驗(yàn)證數(shù)據(jù)是否正常
-- 查看驗(yàn)證數(shù)據(jù)是否正常
select * from test_json_table;
select convert(datas using utf8) from test_json_table;
-- 查看test1的value字段
select JSON_EXTRACT(CAST(CONVERT(datas USING utf8) as json), '$.test1.value') from test_json_table;
-- 或
select datas-> '$.test1.value' from(select CONVERT(datas USING utf8) as datas from test_json_table) temp;
-- 獲取test1的value的值(直接返回字符串,沒(méi)有引號(hào));
select datas ->>'$.test1.value' from (select CONVERT(datas USING utf8) as datas from test_json_table) temp;
4、操作-修改
-- 修改 test1.value= 0
update test_json_table set datas = JSON_REPLACE( CAST(CONVERT(datas USING utf8) as json), '$.test1.value', '0') ;