首頁 >資料庫 >mysql教程 >如何使用JSON_EXTRACT有效搜尋MySQL中儲存的JSON資料?

如何使用JSON_EXTRACT有效搜尋MySQL中儲存的JSON資料?

DDD
DDD原創
2024-12-23 16:24:20413瀏覽

How Can I Effectively Search JSON Data Stored in MySQL Using JSON_EXTRACT?

在MySQL 中搜尋JSON 資料

您已將包含JSON 編碼資料的記錄插入MySQL 資料庫中,並且需要在該資料庫中中進行搜尋。但是,提供的 SQL 查詢未傳回所需的結果。讓我們來探索一個利用 MySQL 5.7 版本中引入的 JSON 提取函數的解決方案。

MySQL 5.7 中的 JSON 提取

在 MySQL 5.7 版本及更高版本中,JSON 提取函數提供了從 JSON 值導航和檢索資料的強大方法。其中一個函數 JSON_EXTRACT 可讓您定位特定鍵並提取其對應的值。

將 JSON_EXTRACT 套用至您的查詢

在 attribs_json 欄位中搜尋特定鍵-值對,您可以使用 JSON_EXTRACT作為如下:

SELECT id, JSON_EXTRACT(attribs_json, "$.feature.1.value") AS matching_value
FROM products
WHERE JSON_EXTRACT(attribs_json, "$.feature.1.value") REGEXP '\[[^"]*3[^"]*\]'

解釋:

  • $.feature.1.value 表達式的目標是「feature」中鍵「1」的值" 物件。
  • REGEXP謂詞將結果限制為提取的值不包含字串的結果"3".

此查詢將傳回「feature」物件中「1」鍵的值不包含「3」的所有行。值為「1」的行。 。

以上是如何使用JSON_EXTRACT有效搜尋MySQL中儲存的JSON資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn