溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些

發(fā)布時(shí)間:2021-07-30 11:20:20 來(lái)源:億速云 閱讀:186 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要為大家展示了“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ù)如下

mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些

查詢語(yǔ)句

SELECT id,JSON_EXTRACT(USER,'$.name')FROM test;

下面是查詢結(jié)果

mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些

以上是“mysql查詢字段類(lèi)型為json時(shí)的查詢方式有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI