最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中查詢json格式的字段實(shí)例詳解

 更新時(shí)間:2021年03月03日 10:43:57   作者:帥得令人著迷的饒少  
這篇文章主要給大家介紹了關(guān)于MySQL中查詢json格式字段的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

工作開發(fā)過程遇到一個(gè)需求:需要?jiǎng)討B(tài)存儲(chǔ)客戶的姓名、手機(jī)號(hào)碼、身份證、證件類型,意思是可能前端會(huì)傳一個(gè)人或二個(gè)人或者三個(gè)人的信息是動(dòng)態(tài)的不固定人數(shù)的四個(gè)字段(姓名、手機(jī)號(hào)碼、身份證、證件類型)。

前端頁面如下:

這是前端圖片

我是使用List來接收前端傳過來 json,mysql 用 varchar 來保存這個(gè) json 數(shù)組

[{
	"cardId": "110101199003072316",
	"cstName": "張雙兒1",
	"cstMobile": "13263654144",
	"idCardType": "1"
}, {
	"cardId": "11010119900307571X",
	"cstName": "張雙兒2",
	"cstMobile": "13263654144",
	"idCardType": "1"
}]

產(chǎn)品提出來的需求是要模糊查詢這些聯(lián)名客戶信息,一開始我錯(cuò)誤的寫法:

select * from signCustomerGroup like ‘%兒%'

但是后來發(fā)現(xiàn)有問題,比如 模糊輸入一個(gè)字母 c ,就會(huì)把左邊‘cardId' 的英文字段名稱匹配上。
后來我了解到 MySQL 5.7 以后版本加入了 json 類型,可以使用json類型的一些函數(shù)直接查詢json格式的某個(gè)字段。

正確語法如下:

表字段:

id sign_customer_info_ext
1 [{“cstName”:“hhjk”,“cstMobile”:“14258669888”,“idCardType”:“1”,“cardId”:“460101199601012516”}]
2 [{“cstName”:“ghhj中文1355”,“cstMobile”:“18253558608”,“idCardType”:“1”,“cardId”:“460101199601012815”},{“cstName”:“fhjj重要133366”,“cstMobile”:“15555555555”,“idCardType”:“1”,“cardId”:“460101199601012313”}]

主要使用的 SQL 函數(shù)是 json_extract() ,它的作用是:從JSON格式查找所有指定數(shù)據(jù)

1. json 數(shù)組查詢

模糊查詢 json 數(shù)組格式的字段中某個(gè)字段:
使用方式:
SELECT * FROM 表名 WHERE json_extract(字段名,"$[*].json中key") like '%需要搜索的值%';
實(shí)例:
SELECT * FROM table WHERE json_extract(sign_customer_info_ext,"$[*].cstName") like '%h%';
精準(zhǔn)查詢(注意:精準(zhǔn)查詢必須寫明所查詢字段所屬數(shù)組那個(gè)下標(biāo),比如查排在一個(gè)就是 [0],第二個(gè)就是 [1])
SELECT id,sign_customer_info_ext FROM table WHERE json_extract(sign_customer_info_ext,"$[0].cstName") = 'ghhj中文1355';

2.單個(gè) json 查詢

前端和mysql數(shù)據(jù)庫中 單個(gè) json 參數(shù):

{
	"cstName": "馬云",
	"cstMobile": "17879767646",
	"idCardType": "1",
	"cardId": "E4813980"
}
模糊查詢單個(gè) json 查詢:
使用方式:
SELECT id,sign_customer_info_ext FROM 表名 WHERE json_extract(字段名,"$.json中key") like '%馬云%';
實(shí)例:
SELECT id,sign_customer_info_ext FROM table WHERE json_extract(sign_customer_info_ext,"$.cstName") like '%馬云%';

總結(jié)

到此這篇關(guān)于MySQL中查詢json格式的文章就介紹到這了,更多相關(guān)MySQL查詢json格式字段內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

鞍山市| 德钦县| 黎城县| 鄂州市| 鸡东县| 施甸县| 若尔盖县| 定结县| 珠海市| 华池县| 望都县| 襄城县| 临西县| 怀安县| 静宁县| 金华市| 沙湾县| 井陉县| 包头市| 澄迈县| 双城市| 明光市| 黄平县| 博湖县| 桃源县| 灵川县| 拉萨市| 揭西县| 秦安县| 砀山县| 花莲市| 瓦房店市| 百色市| 五家渠市| 讷河市| 曲阜市| 德格县| 韶关市| 通州区| 呼伦贝尔市| 宁都县|