首頁  >  文章  >  資料庫  >  如何查詢MySQL列中儲存的JSON資料?

如何查詢MySQL列中儲存的JSON資料?

Patricia Arquette
Patricia Arquette原創
2024-10-27 16:00:03163瀏覽

 How to Query JSON Data Stored in MySQL Columns?

查詢 MySQL 欄位中的 JSON 資料

在 MySQL 中,您可以在欄位中儲存 JSON 物件來儲存複雜的資料結構。為了有效地查詢這些 JSON 字段,您可能會面臨將它們合併到 WHERE 子句中的挑戰。解決方案如下:

使用 json_extract 的解決方案

MySQL 5.7 及更高版本支援 json_extract 函數,該函數允許您從 JSON 資料中提取特定值。此函數接受兩個參數:JSON 資料和 JSON 路徑表達式。

範例:

假設您有一個包含「json_data」欄位的「articles」表格儲存 JSON 物件。要查找標題包含“CPU”的文章:

<code class="sql">SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';</code>

此查詢將返回:

+---------+--------------------------------------------------------------------------------------------------+
| user_id | json_data                                                                                        |
+---------+--------------------------------------------------------------------------------------------------+
|       1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}                                |
+---------+--------------------------------------------------------------------------------------------------+

說明:

  • json_extract 函數從「json_data」欄位中的JSON 資料中提取「title」欄位。
  • LIKE 運算子用於將提取的值與「%CPU%」進行比較。

透過將 json_extract 合併到查詢中,您可以輕鬆搜尋和過濾 MySQL 中的 JSON 數據,使其成為處理複雜數據的強大工具。

以上是如何查詢MySQL列中儲存的JSON資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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