SQLでJSON_EXTRACT()を使用してJSONデータをパースする方法

この記事では、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`テーブルがあると仮定します。

IDNameAttributes
1田中{“age”: 25, “address”: “東京”}
2佐藤{“age”: 30, “address”: “大阪”}
テーブル1: usersテーブルのサンプル

ageを抽出する

各ユーザの年齢(age)を抽出するには以下のSQLコードを実行します。

SELECT JSON_EXTRACT(Attributes, '$.age') FROM users;

結果

IDJSON_EXTRACT(Attributes, ‘$.age’)
125
230
テーブル2: 年齢の抽出結果

まとめ

`JSON_EXTRACT()`関数は、JSONデータが含まれるテーブルから特定のデータを効率よく抽出するための有用な手段です。特に、Webアプリケーションのバックエンドでよく使用されます。この関数をうまく使いこなせるようになると、多くの場面でSQLのクエリがシンプルかつ高性能になります。

コメント

コメントする

目次