ホームページ  >  記事  >  データベース  >  JSON 関数を使用して JSON データで MySQL 列をクエリする方法

JSON 関数を使用して JSON データで MySQL 列をクエリする方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-28 22:08:31922ブラウズ

How to Query MySQL Columns with JSON Data Using JSON Functions?

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_extract() を使用すると、JSON オブジェクトから特定の値を抽出できます。
  • MySQL の古いバージョン (5.7 より前) の場合は、次を使用できます。ストアドルーチンやサードパーティの拡張機能などの代替方法。
  • クエリのパフォーマンスを向上させるために、JSON 列のインデックスの使用を検討してください。

以上がJSON 関数を使用して JSON データで MySQL 列をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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