MySQL json型データを抽出する
MySQLで、json型データを抽出する手順を記述してます。
環境
- OS ubuntu21.10
- MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
- MySQL Workbench 8.0.27
手順
まずは、以下のjson型のテーブルを作成します。
CREATE TABLE `json_test` (`c1` JSON);
以下のデータをinsertします。
INSERT INTO `json_test`
VALUES
('{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}'),
(' {
"userId": 1,
"id": 2,
"title": "quis ut nam facilis et officia qui",
"completed": false
}');
確認してみます。
SELECT * FROM json_test;
jsonデータがinsertされていることが確認できます。
キーを指定して抽出
json型はキーを指定して抽出することが可能です。
SELECT `c1`->"$.id",`c1`->"$.title" FROM json_test;
実行結果
where句にも、使用できます。
SELECT `c1`->"$.id",`c1`->"$.title" FROM json_test
WHERE `c1`->"$.id"= 1;
実行結果
「”」を削除する場合は「JSON_UNQUOTE」を使用します。
SELECT `c1`->"$.id",JSON_UNQUOTE(`c1`->"$.title") FROM foo.json_test;
実行結果
-
前の記事
sakuraエディタ データをソートする 2022.01.25
-
次の記事
mongoDB 使用しているDBの状態を取得する 2022.01.25
コメントを書く