新聞中心
JSON_EXTRACT()函數(shù)或者->運(yùn)算符來查詢JSON字段。假設(shè)有一個(gè)表my_table,其中有一個(gè)JSON類型的字段json_data,可以這樣查詢:,,“sql,SELECT JSON_EXTRACT(json_data, '$.key') FROM my_table;,`,,或者使用->運(yùn)算符:,,`sql,SELECT json_data->'$.key' FROM my_table;,“在MySQL中,可以使用JSON_EXTRACT()函數(shù)或>運(yùn)算符來查詢JSON字段,以下是兩種方法的詳細(xì)解釋:

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),隆安網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:隆安等地區(qū)。隆安做網(wǎng)站價(jià)格咨詢:18980820575
1、使用JSON_EXTRACT()函數(shù)
語法:
JSON_EXTRACT(json_column, json_path)
示例:
假設(shè)有一個(gè)名為students的表,其中有一個(gè)名為info的JSON字段,包含學(xué)生的姓名、年齡和性別信息,現(xiàn)在我們要查詢所有學(xué)生的年齡。
表結(jié)構(gòu):
| id | info (JSON) |
| 1 | {“name”: “張三”, “age”: 20, “gender”: “男”} |
| 2 | {“name”: “李四”, “age”: 22, “gender”: “女”} |
查詢語句:
SELECT JSON_EXTRACT(info, '$.age') as age FROM students;
查詢結(jié)果:
| age |
| 20 |
| 22 |
2、使用>運(yùn)算符
語法:
json_column>json_path
示例:
同樣以上面的students表為例,我們使用>運(yùn)算符查詢所有學(xué)生的年齡。
查詢語句:
SELECT info>'$.age' as age FROM students;
查詢結(jié)果:
| age |
| 20 |
| 22 |
相關(guān)問題與解答
Q1: 如果JSON字段中的鍵包含特殊字符,如何查詢?
A1: 可以使用雙引號(hào)將鍵包圍起來,
SELECT JSON_EXTRACT(info, '$."na/me"') as name FROM students;
Q2: 如果JSON字段中的值為數(shù)組,如何查詢數(shù)組中的元素?
A2: 可以使用JSON_EXTRACT()函數(shù)結(jié)合JSON_UNQUOTE()函數(shù),例如查詢數(shù)組中的第一個(gè)元素:
SELECT JSON_UNQUOTE(JSON_EXTRACT(info, '$."hobbies"[0]')) as first_hobby FROM students;
網(wǎng)站標(biāo)題:mysql怎么查詢json字段
分享鏈接:http://fisionsoft.com.cn/article/dhddpds.html


咨詢
建站咨詢
