MySQLにJSONデータを挿入する方法|JSON型の基本的な使い方を解説
MySQLでは、カラムのデータ型にJSON型を指定することで、JSON形式のデータをそのまま保存できます。まずJSON型のカラムを持つテーブルを作成し、その後にデータを挿入する流れを見ていきましょう。
1. JSON型のテーブルを作成する
以下のようにCREATE TABLE文で、JSON型のカラムを定義したテーブルを作成します。
mysql> create table DemoTable1876
(
EmployeeInformation JSON
);
Query OK, 0 rows affected (0.00 sec)
2. INSERT文でJSONデータを挿入する
続いて、INSERTコマンドを使ってJSON形式の文字列をテーブルに挿入します。
mysql> insert into DemoTable1876 values('{
"EmployeeData":{
"Name": "Chris",
"Age": 27
}
}'
);
Query OK, 1 row affected (0.00 sec)
同様の手順でもう1件のレコードを追加します。
mysql> insert into DemoTable1876 values('{
"EmployeeData":{
"Name": "David",
"Age": 24
}
}'
);
Query OK, 1 row affected (0.00 sec)
3. SELECT文でレコードを確認する
SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。
mysql> select * from DemoTable1876;
実行結果は以下のようになります。
+------------------------------------------------+
| EmployeeInformation |
+------------------------------------------------+
| {"EmployeeData": {"Age": 27, "Name": "Chris"}} |
| {"EmployeeData": {"Age": 24, "Name": "David"}} |
+------------------------------------------------+
2 rows in set (0.00 sec)
JSON型を使うメリット
- データの妥当性チェック: 不正な形式のJSONを挿入しようとするとエラーが発生するため、常に正しいJSONデータが保存されます。
- JSON関数の活用: JSON_EXTRACT() 関数や -> 演算子などを使えば、特定のキーの値を簡単に抽出・操作できます。
- 柔軟なデータ構造: スキーマレスな半構造化データでも、テーブル設計を変更することなく保存できます。
このように、MySQLのJSON型を活用すれば、複雑な構造のデータもシンプルかつ安全にデータベース上で管理することができます。ログデータや設定情報など、構造が変わりやすいデータの保存に特に便利です。
-
JavaでMySQLデータベースにデータを挿入する方法をわかりやすく解説
JavaからMySQLデータベースにデータを挿入するには、SQLのINSERTコマンドを使用します。基本的な構文は以下の通りです。 INSERT INTO テーブル名(カラム名1, カラム名2, ......カラム名N) VALUES(値1, 値2, ......値N); ここからは、Javaプログラムを使って実際にMySQLデータベースへレコードを挿入する手順を、順を追って見ていきましょう。 ステップ1:MySQLでテーブルを作成する まず、データの挿入先となるテーブルをMySQL側に作成します。以下のクエリを実行してください。 mysql> create table Insert
-
JSONデータをPythonオブジェクトに変換する方法【json.loads()の使い方】
Pythonでは、jsonモジュールをインポートし、json.loads()メソッドを使うことで、JSON形式の文字列をPythonのオブジェクト(辞書型)に簡単に変換できます。本記事では、実際のコード例とその実行結果をもとに、変換の手順をわかりやすく解説します。 JSON文字列を辞書に変換するサンプルコード 以下のコードは、JSON形式の文字列をPythonの辞書オブジェクトに変換する例です。json.loads()メソッドにJSON文字列を渡すだけで、自動的に辞書型へとパースされます。 import json json_string = {name: Sonali, age: 21,