JSON 関数を使用した JSON データでの MySQL 列のクエリ
MySQL では、JSON オブジェクトをデータベース列の値として保存できます。クエリで特定の JSON フィールドを使用してこれらの列からデータを効率的に取得するには、json_extract() などの JSON 関数の利用を検討してください。
クエリ フィルタリングに json_extract() を使用する
たとえば、JSON オブジェクトを含む json_data という名前の列を含む、articles という名前の次のテーブルについて考えてみましょう。
Column | Data |
---|---|
id | 1, 2, 3 |
user_id | 1, 1, 2 |
json_data | '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}', '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}', '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}' |
特定の JSON フィールドに基づいてレコードをフィルターするには、 json_extract() 関数を使用できます。たとえば、JSON オブジェクトのタイトル フィールドに「CPU」という用語を含む記事を取得するには:
SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
このクエリは、条件に一致するため、最初の行を返します。
追加メモ
以上がJSON 関数を使用して JSON データで MySQL 列をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。