主頁 > 知識庫 > MySQL中查詢json格式的字段實例詳解

MySQL中查詢json格式的字段實例詳解

熱門標簽:武漢網(wǎng)絡外呼系統(tǒng)服務商 百應電話機器人優(yōu)勢 南昌三維地圖標注 地圖標注費用是多少 曲靖移動外呼系統(tǒng)公司 外呼系統(tǒng)打電話上限是多少 啥是企業(yè)400電話辦理 電話外呼系統(tǒng)改號 怎樣在地圖標注銷售區(qū)域

工作開發(fā)過程遇到一個需求:需要動態(tài)存儲客戶的姓名、手機號碼、身份證、證件類型,意思是可能前端會傳一個人或二個人或者三個人的信息是動態(tài)的不固定人數(shù)的四個字段(姓名、手機號碼、身份證、證件類型)。

前端頁面如下:

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

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

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

select * from signCustomerGroup like ‘%兒%'

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

正確語法如下:

表字段:

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

2.單個 json 查詢

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

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

總結

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

您可能感興趣的文章:
  • mysql查詢字段類型為json時的兩種查詢方式
  • mysql5.6及以下版本如何查詢數(shù)據(jù)庫里的json
  • MySQL全文索引、聯(lián)合索引、like查詢、json查詢速度哪個快
  • mysql json格式數(shù)據(jù)查詢操作
  • Mysql 查詢JSON結果的相關函數(shù)匯總

標簽:荊州 錦州 滄州 吉林 甘南 資陽 隨州 黑河

巨人網(wǎng)絡通訊聲明:本文標題《MySQL中查詢json格式的字段實例詳解》,本文關鍵詞  MySQL,中,查詢,json,格式,的,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL中查詢json格式的字段實例詳解》相關的同類信息!
  • 本頁收集關于MySQL中查詢json格式的字段實例詳解的相關信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章