Mysql中json類型數(shù)據(jù)查詢問題
在實(shí)際開發(fā)中用到,在這里淺談一下。
1. 新建一張表
如下圖,隨意新建一張表,其中一個(gè)字段類型設(shè)置為json就行了

2. 不同JSON下查詢
2.1 json_object查詢
以下寫的是精確查詢,只需要把其中的 = 換成 like再在內(nèi)容中加上%就可以模糊查詢了
在表中添加信息

JSON_EXTRACT查詢
查詢的方式是 select * from my_user where JSON_EXTRACT(字段名,'$.屬性名') = '內(nèi)容'

json_object中多個(gè)屬性值進(jìn)行查詢,寫多個(gè)JSON_EXTRACT連接就好了

簡(jiǎn)單寫法
JSON_EXTRACT的簡(jiǎn)單寫法

JSON_CONTAINS查詢
JSON_OBJECT就是將里面的參數(shù)組成對(duì)象形式
SELECT * FROM `my_user` WHERE JSON_CONTAINS(字段名, JSON_OBJECT('屬性名', '內(nèi)容'))

多個(gè)屬性值查詢

2.2 json_arry查詢
表中添加數(shù)據(jù)

JSON_CONTAINS查詢
json數(shù)組所有對(duì)象中,只要有一個(gè)對(duì)象滿足條件

json數(shù)組所有對(duì)象,只要有對(duì)象分別滿足其中的篩選條件就會(huì)被查詢到

模糊查詢
其中的$[*] 代表篩選所有的數(shù)組對(duì)象,只要所有對(duì)象中有一個(gè)name模糊查詢符合就得到結(jié)果。
$[0]寫成數(shù)字就表示數(shù)組中下標(biāo)為0的對(duì)象name進(jìn)行模糊查詢匹配


總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL數(shù)據(jù)庫(kù)恢復(fù)之Binlog格式詳解
在MySQL中恢復(fù)誤刪除的數(shù)據(jù)是一個(gè)常見但復(fù)雜的問題,這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)恢復(fù)之Binlog格式的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-04-04
MySQL命令行導(dǎo)出與導(dǎo)入數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了利用命令行MySQL導(dǎo)出數(shù)據(jù)庫(kù)與導(dǎo)入數(shù)據(jù)庫(kù)的例子,感興趣的小伙伴們可以參考一下2016-06-06
在講MySQL的Join語法前還是先回顧一下聯(lián)結(jié)的語法,呵呵,其實(shí)連我自己都忘得差不多了,那就大家一起溫習(xí)吧,這里我有個(gè)比較簡(jiǎn)便的記憶方法,內(nèi)外聯(lián)結(jié)的區(qū)別是內(nèi)聯(lián)結(jié)將去除所有不符合條件的記錄,而外聯(lián)結(jié)則保留其中部分。外左聯(lián)結(jié)與外右聯(lián)結(jié)的區(qū)別在于如果用A左聯(lián)結(jié)B則A中所有記錄都會(huì)保留在結(jié)果中,此時(shí)B中只有符合聯(lián)結(jié)條件的記錄,而右聯(lián)結(jié)相反,這樣也就不會(huì)混淆了。2014-05-05
Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解
這篇文章主要介紹了Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
centos7環(huán)境下源碼安裝mysql5.7.16的方法詳解
這篇文章主要介紹了centos7環(huán)境下源碼安裝mysql5.7.16的方法,詳細(xì)分析了centos7環(huán)境下MySQL安裝的相關(guān)步驟、操作命令、配置方法與注意事項(xiàng),需要的朋友可以參考下2020-02-02

