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 をクエリに組み込むことで、MySQL で JSON データを簡単に検索およびフィルタリングできるため、複雑なデータを操作するための強力なツールになります。
以上がMySQL 列に保存されている JSON データをクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。