」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 WHERE 子句在 MySQL 中查詢 JSON 資料?

如何使用 WHERE 子句在 MySQL 中查詢 JSON 資料?

發佈於2024-12-22
瀏覽:348

How to Query JSON Data in MySQL using the WHERE Clause?

如何在 MySQL 中查詢 JSON 資料

在 MySQL 資料庫中,JSON 物件可以儲存在表格列中。但是,如果沒有適當的技術,運行利用這些 JSON 欄位的查詢可能會很困難。本指南提供了使用 WHERE 子句輕鬆查詢 JSON 資料的方法,使開發人員能夠根據 JSON 物件屬性過濾和檢索特定記錄。

利用 JSON_EXTRACT 函數

For MySQL 5.7 及更高版本中,JSON_EXTRACT 函數是從 WHERE 子句中的 JSON 物件擷取特定值的有效工具。此函數採用兩個參數:

  • json_document: 從中提取值的 JSON 物件。
  • path: A JSON指定物件內目標值位置的路徑表達式。

考慮原始查詢中提供的範例表以及列「json_data」包含 JSON 物件。要查詢表中「title」屬性包含字串「CPU」的行,可以使用下列查詢:

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

此查詢利用 JSON_EXTRACT 函數從「json_data」欄位中的每個 JSON 物件中擷取「title」屬性的值。然後,它會過濾結果以僅包含提取的標題值包含指定子字串的行。

最新教學 更多>
  • 如何將 C++11 `constexpr` 陣列從 0 初始化為 N?
    如何將 C++11 `constexpr` 陣列從 0 初始化為 N?
    在C 11 中初始化從0 到N 的Constexpr 數組在C 11 中,創建一個從0 到指定整數n 的constexpr 數組需要更多一點比後來的C 版本更努力。實作方法如下:使用 Constexpr 建構子與迴圈:#include <iostream> template<int...
    程式設計 發佈於2024-12-22
  • HTML 格式標籤
    HTML 格式標籤
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    程式設計 發佈於2024-12-22
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-12-22
  • Pandas 中的「skiprows」如何知道是否要跳過第一行或索引為 1 的行?
    Pandas 中的「skiprows」如何知道是否要跳過第一行或索引為 1 的行?
    使用Pandas 導入CSV 時跳過行使用Pandas 導入CSV 資料時,通常需要跳過不需要的行包含在您的分析中。然而,圍繞skiprows參數的歧義可能會令人困惑。 skiprows的語法如下:skiprows : list-like or integer Row numbers to skip...
    程式設計 發佈於2024-12-22
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-12-22
  • 「this」在 JavaScript 類別方法中的行為如何?
    「this」在 JavaScript 類別方法中的行為如何?
    理解JavaScript 中類別方法中「this」的行為在JavaScript 中,「this」的概念對於理解方法在類別定義中的操作方式至關重要。為了深入研究這個主題,我們來分析一下「this」指的是呼叫者類別而不是呼叫類別方法時所建立的物件的語句。 呼叫模式與「this」綁定中JavaScript...
    程式設計 發佈於2024-12-22
  • 如何正確連接 PHP 變數和字串文字?
    如何正確連接 PHP 變數和字串文字?
    混合 PHP 變數和字串文字在 PHP 中,混合變數和字串文字有時會帶來挑戰。考慮這樣的場景,您將一個名為 $test 的變數指派給值“cheese”,並旨在將其與“y”連接以獲得“cheesey”。雖然使用點運算子 ($test . 'y') 附加 'y' 有效,但...
    程式設計 發佈於2024-12-22
  • 到`notify_one()`:鎖定還是不鎖定?
    到`notify_one()`:鎖定還是不鎖定?
    揭開條件背後的秘密:notify_one()加鎖或不加鎖問題: ]為了確保高效率的線程協調,std::condition_variables發揮關鍵作用。然而,在呼叫notify_one()之前取得鎖的必要性存在不確定性:它是強制性的,還是可選的做法? 解開謎團:答案很明確:在呼叫notify_on...
    程式設計 發佈於2024-12-22
  • 如何使用類型特徵來確定類型是 STL 容器還是向量?
    如何使用類型特徵來確定類型是 STL 容器還是向量?
    檢測具有類型特徵的STL 結構:is_container 和is_vector 指南簡介特徵提供了一種在編譯時查詢類型的強大機制。這使程式設計師能夠編寫高度優化且靈活的程式碼。一個常見的用例是檢測 STL 結構,例如向量、集合和映射。 定義 is_vector要確定型別是否表示向量,我們可以使用Bo...
    程式設計 發佈於2024-12-22
  • 如何在 JavaScript 中實現真正的「睡眠」功能?
    如何在 JavaScript 中實現真正的「睡眠」功能?
    在 JavaScript 中尋找真正的睡眠:時間操縱的演變在程式設計領域,引入人為延遲的追求經常被忽視。依賴「睡眠」的概念。對於 JavaScript,模擬此功能的追求催生了多種方法。一個這樣的解決方案,pausecomp 函數,採用基本的方法來模擬睡眠。然而,隨著技術的進步,可用的解決方案也不斷進...
    程式設計 發佈於2024-12-22
  • 如何使用 Java 泛型組合類別和介面約束?
    如何使用 Java 泛型組合類別和介面約束?
    具有類別和介面相容性的 Java 泛型在 Java 中,建立具有特定約束的類別物件可能具有挑戰性。常見的場景是定義一個類別對象,該類別對象擴展特定類,同時實作特定介面。然而,使用泛型同時實現這兩個約束一直是一個常見的爭論點。 嘗試使用下列語法強制類別擴充ClassA 並實作介面InterfaceB:...
    程式設計 發佈於2024-12-22
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-12-22
  • 插入資料時如何修復「常規錯誤:2006 MySQL 伺服器已消失」?
    插入資料時如何修復「常規錯誤:2006 MySQL 伺服器已消失」?
    插入記錄時如何解決「一般錯誤:2006 MySQL 伺服器已消失」介紹:將資料插入MySQL 資料庫有時會導致錯誤「一般錯誤:2006 MySQL 伺服器已消失」。當與伺服器的連線遺失時會出現此錯誤,通常是由於 MySQL 配置中的兩個變數之一所致。 解決方案:解決此錯誤的關鍵是調整wait_tim...
    程式設計 發佈於2024-12-22
  • Go處理資料後如何有效率地釋放記憶體?
    Go處理資料後如何有效率地釋放記憶體?
    查詢Go中的內存釋放原問題:如何釋放未使用的內存,特別是變量佔用的內存,處理後釋放嗎? 詳細說明:功能getURL 下載 20MB 以下的文件,並將其內容儲存在名為 body 的位元組中。雖然功能正常,但這會累積記憶體使用量。目標是在處理完 body 後釋放這塊記憶體。 綜合回應:Go 中的記憶體管...
    程式設計 發佈於2024-12-22
  • 為什麼切換到 JDK 10 後 Eclipse 找不到我的 XML 類別?
    為什麼切換到 JDK 10 後 Eclipse 找不到我的 XML 類別?
    Eclipse 無法定位JDK 10 建置路徑轉換後的XML 類別:解決方案嘗試將Maven 專案的建置路徑切換到JDK 10時在Eclipse 中,使用者可能會遇到Eclipse 建置過程無法找到XML 相關類別(包括javax.xml.xpath.XPath)的問題, org.w3c.dom.D...
    程式設計 發佈於2024-12-22

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3