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

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

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

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

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

JSON_SET関数(JSON 関数)とは?

JSON_SET関数は、MySQLデータベースで使用される関数で、JSONオブジェクト内の特定のキーに対して値を設定または変更します。以下に、JSON_SET関数の使用方法を示すコード例を交えて解説します。

例として、以下のようなJSONオブジェクトを考えます。

{
  "name": "John",
  "age": 25,
  "address": {
    "city": "Tokyo",
    "country": "Japan"
  }
}

このJSONオブジェクトの「name」キーの値を「David」に変更してみましょう。JSON_SET関数を使用すると、次のようになります。

UPDATE table_name
SET json_column = JSON_SET(json_column, '$.name', 'David')
WHERE id = 1;

上記のコードでは、`table_name`というテーブル内の`json_column`というカラムに保存されているJSONオブジェクトを更新しています。JSON_SET関数の第1引数には更新対象のJSONオブジェクトが指定されており、第2引数には変更するパス(キー)が指定されています。パスは、ドル記号`$`を基準として指定します。この場合、`name`キーを指定しています。第3引数には新しい値 `'David'` を指定しています。

さらに、新しいキーと値を追加してみましょう。以下のコードでは、JSONオブジェクトに「email」キーとその値を追加しています。

UPDATE table_name
SET json_column = JSON_SET(json_column, '$.email', 'john@example.com')
WHERE id = 1;

JSON_SET関数を使用して、指定したパスに新しいキーと値を追加することができます。

JSON_SET関数は、JSONオブジェクトの特定のキーの値を更新したり、新しいキーと値を追加したりする場合に便利です。

JSON_SET関数を使用して「name」キーの値を「David」に変更し、「email」キーとその値を追加した結果のJSONオブジェクトは以下のようになります。

{
  "name": "David",
  "age": 25,
  "address": {
    "city": "Tokyo",
    "country": "Japan"
  },
  "email": "john@example.com"
}

「name」キーの値が「John」から「David」に変更され、新たに「email」キーが追加されました。これがJSON_SET関数の結果となるJSONオブジェクトです。

SQLの使いどころ

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

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

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

KK

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