ホームページ  >  記事  >  データベース  >  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 データから特定の値を抽出できる json_extract 関数がサポートされています。この関数は、JSON データと JSON パス式の 2 つの引数を受け入れます。

例:

「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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。