JSON は構造化データの保存に使用される一般的なデータ形式であり、JSON オブジェクトをデータベース列に保存することがますます一般的になりつつあります。 MySQL には、JSON 列からデータを抽出するためのメソッドがいくつか用意されており、特定のフィールドに基づいてデータのクエリとフィルタリングが容易になります。
json_extract() の使用 (MySQL 5.7 以降)
MySQL バージョン 5.7 以降の場合、 json_extract() 関数は JSON オブジェクトから特定の値を抽出する便利な方法を提供します。以下に例を示します。
SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
このクエリは、JSON 列の "title" フィールドがパターン "%CPU%" に一致する行を取得します。提供されたサンプル テーブルの最初の行のみが返されます。
json_unquote() および json_contains() の使用 (MySQL 8.0 以降)
MySQL 8.0 以降、 json_unquote() 関数を使用して JSON 値から二重引用符を削除でき、 json_contains() 関数を使用して JSON オブジェクトに特定の値が存在するかどうかを確認できます。代替クエリは次のとおりです:
SELECT user_id, json_data FROM articles WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
以上がクエリを使用して MySQL 列から JSON データを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。