MySQLはデータベースでJSONデータを効果的に操作するための様々な関数を提供しています。この記事では、MySQLのJSON関数を使用してJSONデータを検索する方法に焦点を当てます。
1. JSONデータの準備
まず、JSON形式のデータを含むサンプルのテーブルを作成しましょう。
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(50),
details JSON
);
INSERT INTO products VALUES
(1, 'Product A', '{"price": 20, "stock": 100}'),
(2, 'Product B', '{"price": 30, "stock": 50}'),
(3, 'Product C', '{"price": 25, "stock": 75}');
2. JSONデータの検索
2.1. JSONキーの値を取得する
JSONデータのキーを使用してデータを検索するには、->
演算子を使用します。
SELECT * FROM products
WHERE details->'$.price' = 30;
このクエリはprice
が30である製品を返します。
2.2. JSON配列の要素を検索する
JSONデータ内の配列の要素を検索するには、->>
演算子を使用します。
SELECT * FROM products
WHERE details->>'$.tags' = '["tag1", "tag2"]';
この例では、tags
が["tag1", "tag2"]
である製品を検索しています。
2.3. JSONデータの中で部分文字列を検索する
JSONデータ内の文字列を検索するにはLIKE
演算子を使用します。
SELECT * FROM products
WHERE details->>'$.description' LIKE '%important%';
このクエリはdescription
に”important”という部分文字列を含む製品を返します。
これで、MySQLのJSON関数を使用してJSONデータを検索する基本的な方法を学びました。これらのテクニックを使用して、JSON形式のデータを効果的にクエリすることができます。