ホームページ >データベース >mysql チュートリアル >JSON_EXTRACT を使用して MySQL に保存されている JSON データを効果的に検索するにはどうすればよいですか?
MySQL での JSON データの検索
JSON でエンコードされたデータを含むレコードを MySQL データベースに挿入したので、そのデータ内を検索する必要があります。ただし、提供された SQL クエリは望ましい結果を返しません。 MySQL バージョン 5.7 で導入された JSON 抽出関数を利用したソリューションを検討してみましょう。
MySQL 5.7 での JSON 抽出
MySQL バージョン 5.7 以降では、JSON 抽出関数はJSON 値に移動してデータを取得するための強力な方法。そのような関数の 1 つである JSON_EXTRACT を使用すると、特定のキーをターゲットにして、それに対応する値を抽出できます。
JSON_EXTRACT をクエリに適用する
attribs_json フィールド内で特定のキーを検索するには-value ペアの場合、JSON_EXTRACT を次のように使用できます。
SELECT id, JSON_EXTRACT(attribs_json, "$.feature.1.value") AS matching_value FROM products WHERE JSON_EXTRACT(attribs_json, "$.feature.1.value") REGEXP '\[[^"]*3[^"]*\]'
説明:
このクエリは、「feature」オブジェクトの「1」キーの値が「3」を含まないすべての行を返します。提供されたデータの場合、["2"] および ["2", "1"] の "1" 値を持つ行と一致します。
結論
MySQL の JSON 抽出機能を利用すると、JSON でエンコードされたフィールドに格納されたデータを効率的に検索してアクセスできます。 JSON_EXTRACT 関数は、特定の値を抽出し、JSON データに対して複雑なフィルタリング操作を実行する柔軟かつ効率的な方法を提供します。
以上がJSON_EXTRACT を使用して MySQL に保存されている JSON データを効果的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。