Mysql內儲存JSON字符串根據條件進行查詢

前言

JSON 可以將 JavaScript 對象中表示的一組數據轉換為字符串,然後就可以在函數之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。這個字符串可以表示數組和復雜的對象,而不僅僅是鍵和值的簡單列表,在Mysql中存儲Json字符串可以極大的簡便存儲的復雜度,而與此同時,讀取數據庫也就成瞭很多人首先遇到的問題。

示例:{ “key”: “value” }

一、Json是什麼?

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。JSON采用完全獨立於語言的文本格式,這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成。

二、不同情況

1.模糊查詢json類型字段

存儲的數據格式(字段名 people_json):

{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}

代碼如下(示例):

select * from table_name  where people_json->'$.name' like '%zhang%'

2.精確查詢json類型字段

存儲的數據格式(字段名 people_json):

{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}

代碼如下(示例):

select * from table_name  where people_json-> '$.age' = 13

3.模糊查詢JsonArray類型字段

存儲的數據格式(字段名 people_json):

[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]

代碼如下(示例):

select * from table_name  where people_json->'$[*].name' like '%zhang%'

4.精確查詢JsonArray類型字段

存儲的數據格式(字段名 people_json):

[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]

代碼如下(示例):

select * from table_name  where JSON_CONTAINS(people_json,JSON_OBJECT('age', "13"))

總結

針對數據庫中存儲的不同Json類型,sql語句已經擁有著簡便的方法,隻需要瞭解便可以輕松使用。

到此這篇關於Mysql內儲存JSON字符串根據條件進行查詢的文章就介紹到這瞭,更多相關Mysql JSON字符串查詢內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: