国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:124日期:2023-10-05 12:00:08

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

前端頁(yè)面如下:

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

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

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

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

select * from signCustomerGroup like ‘%兒%’

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

正確語(yǔ)法如下:

表字段:

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”}]

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

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

1. json 數(shù)組查詢(xún)

模糊查詢(xún) 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)查詢(xún)(注意:精準(zhǔn)查詢(xún)必須寫(xiě)明所查詢(xú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 查詢(xún)

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

{'cstName': '馬云','cstMobile': '17879767646','idCardType': '1','cardId': 'E4813980'}

模糊查詢(xún)單個(gè) json 查詢(xún):使用方式: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中查詢(xún)json格式的文章就介紹到這了,更多相關(guān)MySQL查詢(xún)json格式字段內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 青河县| 噶尔县| 洛川县| 望都县| 靖江市| 新疆| 宾川县| 丰台区| 永康市| 城固县| 眉山市| 玛纳斯县| 铁岭县| 报价| 板桥市| 丰台区| 通江县| 石泉县| 夹江县| 尉犁县| 东平县| 娄烦县| 客服| 颍上县| 皋兰县| 商都县| 广东省| 黄陵县| 沁水县| 大化| 阜阳市| 彭州市| 凯里市| 哈密市| 宜川县| 鹤峰县| 乌拉特前旗| 哈密市| 芜湖市| 大安市| 西峡县|