首頁  >  文章  >  資料庫  >  如何使用 JSON 函數查詢包含 JSON 資料的 MySQL 欄位?

如何使用 JSON 函數查詢包含 JSON 資料的 MySQL 欄位?

Linda Hamilton
Linda Hamilton原創
2024-10-28 22:08:31922瀏覽

How to Query MySQL Columns with JSON Data Using JSON Functions?

使用JSON 函數查詢包含JSON 資料的MySQL 欄位

在MySQL 中,您可以將JSON 物件儲存在資料庫列中。要在查詢中使用特定 JSON 欄位有效地從這些列中檢索數據,請考慮使用 JSON 函數,例如 json_extract()。

使用json_extract() 進行查詢過濾

例如,讓我們考慮下麵名為articles的表,其中包含一個名為json_data的列,其中包含JSON對象:

Column Data
id 1, 2, 3
user_id 1, 1, 2
json_data '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}', '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}', '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}'

要根據特定JSON欄位過濾記錄,您可以使用json_extract()函數。例如,要檢索 JSON 物件的標題欄位中包含術語「CPU」的文章:

SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';

此查詢將傳回第一行,因為它與條件相符。

附加說明

  • json_extract() 允許您從 JSON 物件中提取特定值。
  • 對於舊版的 MySQL(5.7 之前),您可以使用替代方法,例如儲存程式或第三方擴充功能。
  • 考慮在 JSON 欄位上使用索引以提高查詢效能。

以上是如何使用 JSON 函數查詢包含 JSON 資料的 MySQL 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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