Mysql內(nèi)儲存JSON字符串根據(jù)條件進行查詢
前言
JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機傳遞給服務(wù)器端程序。這個字符串可以表示數(shù)組和復雜的對象,而不僅僅是鍵和值的簡單列表,在Mysql中存儲Json字符串可以極大的簡便存儲的復雜度,而與此同時,讀取數(shù)據(jù)庫也就成了很多人首先遇到的問題。
示例:{ “key”: “value” }
一、Json是什么?
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。
二、不同情況
1.模糊查詢json類型字段
存儲的數(shù)據(jù)格式(字段名 people_json):
{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}代碼如下(示例):
select * from table_name where people_json->'$.name' like '%zhang%'
2.精確查詢json類型字段
存儲的數(shù)據(jù)格式(字段名 people_json):
{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}代碼如下(示例):
select * from table_name where people_json-> '$.age' = 13
3.模糊查詢JsonArray類型字段
存儲的數(shù)據(jù)格式(字段名 people_json):
[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]代碼如下(示例):
select * from table_name where people_json->'$[*].name' like '%zhang%'
4.精確查詢JsonArray類型字段
存儲的數(shù)據(jù)格式(字段名 people_json):
[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]代碼如下(示例):
select * from table_name where JSON_CONTAINS(people_json,JSON_OBJECT('age', "13"))
總結(jié)
針對數(shù)據(jù)庫中存儲的不同Json類型,sql語句已經(jīng)擁有著簡便的方法,只需要了解便可以輕松使用。
到此這篇關(guān)于Mysql內(nèi)儲存JSON字符串根據(jù)條件進行查詢的文章就介紹到這了,更多相關(guān)Mysql JSON字符串查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript正則表達式函數(shù)總結(jié)(常用)
正則表達式作為一種匹配處理字符串的利器在很多語言中都得到了廣泛實現(xiàn)和應(yīng)用.這篇文章主要介紹了JavaScript正則表達式函數(shù)總結(jié),需要的朋友可以參考下2018-02-02
JSP跨iframe如何傳遞參數(shù)實現(xiàn)代碼
表單與操作頁面分離,按鈕按下,click 或者onclick事件觸發(fā),傳遞一個唯一性的參數(shù)至子頁面JSP,感興趣的朋友可以了解下2013-09-09
Atitit.js的鍵盤按鍵事件捆綁and事件調(diào)度
這篇文章主要介紹了Atitit.js的鍵盤按鍵事件捆綁and事件調(diào)度的相關(guān)資料,需要的朋友可以參考下2016-04-04

