您的位置:首頁技術文章
文章詳情頁

MySQL對JSON數據進行查詢實例代碼

瀏覽:5日期:2023-07-05 19:48:16
目錄MySQL根據JSON字段的內容檢索查詢數據舉個栗子擴充:總結MySQL根據JSON字段的內容檢索查詢數據

1、使用 字段 -> ‘$.json’ 屬性’ 進行查詢條件

以下這兩種會快很多,可以自己測試

2、使用 json_extract 函數查詢,json_extract(字段, “$.json屬性”)

3、根據json數組查詢,用 JSON_CONTAINS (字段, JSON_OBJECT(‘json屬性’, “內容”))

MySQL5.7以上支持JSON的操作,以及增加了JSON存儲類型

般數據庫存儲JSON類型的數據會用JSON類型或者TEXT類型

注意:用JSON類型的話1)JSON列存儲的必須是JSON格式數據,否則會報錯。2)JSON數據類型是沒有默認值的。

舉個栗子

1、首先我們看到數據表中,Form_Value_一列是josn格式存在的,又想通過其中的一組或者幾組鍵值對來進行查詢。

2、通過以下語句就可以通過key,value來進行查詢了,如果多個條件,正常加 and 就可以了。

**注意:**like 查詢varchar類型時要將單箭頭變為雙箭頭直接匹配值模糊查詢 ->>

SELECT * FROM vx_live_room where info ->> 'name' like '%測試%'

SELECT * FROM core_process where Form_Value_ -> '$.attendancer' = '馬立新'

3、如果是Mybatis框架,要把 > 符號轉義,像這樣用 <![CDATA[ ]]>

<![CDATA[ Form_Value_ -> '$.endDate' < #{endDate,jdbcType=VARCHAR} ]]>擴充:

查詢jaon串,返回json串里的某個字段

2.結果字段為json串

3.取json串中某個key的value值

4.->和->>區別,如圖

-> 結果值帶雙引號"值"

->> 結果值不帶引號

null依舊是null,不管符號是->還是->>

總結

到此這篇關于MySQL對JSON數據進行查詢的文章就介紹到這了,更多相關MySQL對JSON數據查詢內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
国产综合久久一区二区三区