您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些”這篇文章吧。
表結(jié)構(gòu)如下:
id varchar(32) info json
數(shù)據(jù):
id = 1 info = {"age": "18","disname":"小明"}
--------------------------------------------
現(xiàn)在我需要獲取info中disanme的值,查詢方法有:
1.
select t.id,JSON_EXTRACT(t.info,'$.disname') as disname from tableName t where 1=1
結(jié)果:
id = 1, disname=“小明”
以上sql查出的disname值是帶有雙引號(hào)的,有時(shí)我們不需要雙引號(hào),此時(shí)就需要用到下面這種方式。
2.
select t.id,t.info ->> '$.disname' as disname from tableName t where 1=1
結(jié)果:
id = 1 , disname=小明
ps:下面看下mysql查詢json字段
建表語(yǔ)句
Create Table CREATE TABLE `test` ( `id` int(10) , `user` json DEFAULT NULL COMMENT '用戶信息', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
插入數(shù)據(jù)
需要注意的是,json數(shù)據(jù)外面需要單引號(hào)來(lái)區(qū)別
INSERT INTO test (id,USER) VALUES(1,'{"name": "tom", "age": 18, "money": 3000}'); INSERT INTO test (id,USER) VALUES(2,'{"name": "jack", "age": 20, "money": 100}'); INSERT INTO test (id,USER) VALUES(3,'{"name": "tony", "age": 21, "money": 100}'); INSERT INTO test (id,USER) VALUES(4,'{"name": "danny", "age": 21, "money": 20}'); INSERT INTO test (id,USER) VALUES(5,'{"name": "janny", "age": 23, "money": 20}');
表數(shù)據(jù)如下
查詢語(yǔ)句
SELECT id,JSON_EXTRACT(USER,'$.name')FROM test;
下面是查詢結(jié)果
以上是“mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。