【MySQL】對JSON數據進行查詢

MySQL根據JSON字段的內容檢索查詢數據

  • 使用 字段->'$.json屬性' 進行查詢條件
  • 使用 json_extract 函數查詢,json_extract(字段, "$.json屬性")
  • 根據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 就可以了。

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

在這裏插入圖片描述
3、如果是Mybatis框架,要把 > 符號轉義,像這樣用 <![CDATA[ ]]>

<![CDATA[   Form_Value_ -> '$.endDate' < #{endDate,jdbcType=VARCHAR}    ]]>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章