在MySQL 中查詢JSON 資料
問題:
問題:您有一個My,其中包含儲存JSON 物件的列。您需要執行根據特定 JSON 欄位值過濾結果的查詢。
解決方案:使用json_extract 函數<code class="sql">SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';</code>
MySQL 5.7 及更高版本引入了json_extract 函數,它允許您從儲存在列中的JSON 物件中提取特定值。這允許您執行以下查詢:
範例:<code class="sql">CREATE TABLE articles ( id int NOT NULL, user_id int NOT NULL, json_data json NOT NULL ); INSERT INTO articles (id, user_id, json_data) VALUES (1, 1, '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}'), (2, 1, '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}'), (3, 2, '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}');</code>
<code class="sql">+---------+--------------------------------------------------------------------------------------------------+ | user_id | json_data | +---------+--------------------------------------------------------------------------------------------------+ | 1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"} | +---------+--------------------------------------------------------------------------------------------------+</code>
以上是如何根據特定欄位值查詢MySQL中的JSON資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!