MariaDB JSONデータから値を取得する

MariaDB JSONデータから値を取得する

MariaDBで、JSONデータから値を取得する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • MariaDB 10.6.4
  • phpMyAdmin 5.1.1

手順

JSONデータから値を取得するには、「JSON_VALUE( )」を使用します。

JSON_VALUE()

実際に、jsonから取得してみます。

SELECT 
JSON_VALUE( '{ "name" : "mebee", "age" : 20 }', '$.name' ),
JSON_VALUE( '{ "name" : "mebee", "age" : 20 }', '$.age' )

実行結果を確認すると、取得されていることが確認できます。

存在しない値

存在しない値を指定すると「null」が返ります。

SELECT 
JSON_VALUE( '{ "name" : "mebee", "age" : 20 }', '$.hoge' )

実行結果

配列

配列データでも取得することが可能です。

SELECT 
JSON_VALUE( '{ "name" : "mebee", "skill" : ["java","vue","react"] }', '$.skill[0]' ),
JSON_VALUE( '{ "name" : "mebee", "skill" : ["java","vue","react"] }', '$.skill[1]' ),
JSON_VALUE( '{ "name" : "mebee", "skill" : ["java","vue","react"] }', '$.skill[2]' )

実行結果

ネスト

ネストされたデータも取得可能です。

SELECT 
JSON_VALUE(
    '{ 
        "id" : 1, 
        "person" : { 
            "name" : "mebee",
            "age" : 25
            } 
    }', 
    '$.person.name' 
    );

実行結果