UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#128 JSON_EXTRACT関数(JSON 関数)とは?

記入日:2023-05-16 編集日:2023-05-16

JSON_EXTRACT関数(JSON 関数)を解説してみようと思います。

この記事を読むと(約5分)
JSON_EXTRACT関数(JSON 関数)を使用する方法をイメージできます。

JSON_EXTRACT関数(JSON 関数)とは?

MySQLには、JSONデータを操作するためのさまざまな関数があります。これらの関数を使用することで、JSONデータをクエリ内で解析、作成、変更、検索することができます。ただし、MySQLのJSON関数はMySQL 5.7以上で利用可能であり、テーブルのカラムの型としてJSON型を使用する必要があります。

今回は、JSON関数の1つである`JSON_EXTRACT`関数を使用する例を示します。

例として、以下のようなJSONデータが保存された`employees`というテーブルがあるとします。

+----+---------------------------+
| id | data                      |
+----+---------------------------+
| 1  | {"name": "John", "age": 30}|
| 2  | {"name": "Jane", "age": 25}|
+----+---------------------------+

このテーブルから、`id`が1の従業員の名前を抽出するために、`JSON_EXTRACT`関数を使用します。

SELECT JSON_EXTRACT(data, '$.name') AS name FROM employees WHERE id = 1;

このクエリでは、`JSON_EXTRACT`関数の第1引数に抽出対象のJSONデータのカラム名(`data`)を指定し、第2引数に抽出したいデータのパスを指定しています。ここでは、`$.name`というパスを指定しています。`$`はルートオブジェクトを表し、`.`を使用してパスの階層を指定しています。

上記のクエリを実行すると、以下の結果が返されます。

+------+
| name |
+------+
| John |
+------+

結果として、`id`が1の従業員の名前である"John"が抽出されます。

この例では`JSON_EXTRACT`関数を使用しましたが、他のJSON関数も同様の方法で使用することができます。

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。