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!
推薦閱讀:
- MySQL存儲Json字符串遇到的問題與解決方法
- MySQL中JSON字段數據類型詳解
- MySQL中json_extract函數說明及使用方式
- mysql根據json字段內容作為查詢條件(包括json數組)檢索數據
- MySQL 8.0 可以操作 JSON 瞭