この記事では、SQLにおいて`JSON_EXTRACT()`関数を使用してJSONデータをパースする手法について解説します。特に、リレーショナルデータベースでよく使われるMySQLでの実例を元に説明します。JSONデータが含まれるテーブルから特定の値を取り出す場面は多く、そのテクニックをマスターすることでデータベース操作が格段に楽になります。
目次
JSONとは
JSON(JavaScript Object Notation)は、データ交換フォーマットの一つです。軽量で読み書きが容易なため、多くのウェブサービスやAPIで採用されています。
JSONの基本構造
JSONは主に二つの構造でデータを保持します。
- オブジェクト({}で囲まれたもの)
- 配列([]で囲まれたもの)
JSON_EXTRACT()関数とは
`JSON_EXTRACT()`関数は、JSON形式の列やフィールドから特定の値を抽出するためのSQL関数です。
基本的な使い方
基本的な使い方は以下の通りです。
SELECT JSON_EXTRACT(column_name, '$.key') FROM table_name;
実践例
サンプルテーブルの作成
以下のような`users`テーブルがあると仮定します。
ID | Name | Attributes |
---|---|---|
1 | 田中 | {“age”: 25, “address”: “東京”} |
2 | 佐藤 | {“age”: 30, “address”: “大阪”} |
ageを抽出する
各ユーザの年齢(age)を抽出するには以下のSQLコードを実行します。
SELECT JSON_EXTRACT(Attributes, '$.age') FROM users;
結果
ID | JSON_EXTRACT(Attributes, ‘$.age’) |
---|---|
1 | 25 |
2 | 30 |
まとめ
`JSON_EXTRACT()`関数は、JSONデータが含まれるテーブルから特定のデータを効率よく抽出するための有用な手段です。特に、Webアプリケーションのバックエンドでよく使用されます。この関数をうまく使いこなせるようになると、多くの場面でSQLのクエリがシンプルかつ高性能になります。
created by Rinker
¥4,554
(2024/11/21 10:54:58時点 Amazon調べ-詳細)
コメント