MySQL對(duì)JSON數(shù)據(jù)進(jìn)行查詢實(shí)例代碼
1、使用 字段 -> ‘$.json’ 屬性’ 進(jìn)行查詢條件
以下這兩種會(huì)快很多,可以自己測(cè)試
2、使用 json_extract 函數(shù)查詢,json_extract(字段, “$.json屬性”)
3、根據(jù)json數(shù)組查詢,用 JSON_CONTAINS (字段, JSON_OBJECT(‘json屬性’, “內(nèi)容”))
MySQL5.7以上支持JSON的操作,以及增加了JSON存儲(chǔ)類型
般數(shù)據(jù)庫(kù)存儲(chǔ)JSON類型的數(shù)據(jù)會(huì)用JSON類型或者TEXT類型
注意:用JSON類型的話1)JSON列存儲(chǔ)的必須是JSON格式數(shù)據(jù),否則會(huì)報(bào)錯(cuò)。2)JSON數(shù)據(jù)類型是沒有默認(rèn)值的。
舉個(gè)栗子1、首先我們看到數(shù)據(jù)表中,F(xiàn)orm_Value_一列是josn格式存在的,又想通過其中的一組或者幾組鍵值對(duì)來(lái)進(jìn)行查詢。
2、通過以下語(yǔ)句就可以通過key,value來(lái)進(jìn)行查詢了,如果多個(gè)條件,正常加 and 就可以了。
**注意:**like 查詢varchar類型時(shí)要將單箭頭變?yōu)殡p箭頭直接匹配值模糊查詢 ->>
SELECT * FROM vx_live_room where info ->> 'name' like '%測(cè)試%'3、如果是Mybatis框架,要把 > 符號(hào)轉(zhuǎn)義,像這樣用 <![CDATA[ ]]>
查詢jaon串,返回json串里的某個(gè)字段
2.結(jié)果字段為json串
3.取json串中某個(gè)key的value值
4.->和->>區(qū)別,如圖
-> 結(jié)果值帶雙引號(hào)"值"
->> 結(jié)果值不帶引號(hào)
null依舊是null,不管符號(hào)是->還是->>
總結(jié)到此這篇關(guān)于MySQL對(duì)JSON數(shù)據(jù)進(jìn)行查詢的文章就介紹到這了,更多相關(guān)MySQL對(duì)JSON數(shù)據(jù)查詢內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
