JSON 形式を使用して MySQL にデータを保存およびクエリするにはどうすればよいですか?
現代のアプリケーション開発では、JSON 形式を使用してデータを保存およびクエリすることが一般的になっています。 JSON (JavaScript Object Notation) は、フロントエンドおよびバックエンドのデータ送信、構成ファイル、ログ記録などに広く使用されている軽量のデータ交換形式です。 MySQL はバージョン 5.7 から JSON フィールドのサポートを導入し、JSON データを MySQL で直接保存、クエリ、操作できるようになりました。
この記事では、JSON 形式を使用して MySQL にデータを保存およびクエリする方法を紹介し、いくつかの実用的なコード例を示します。
1. テーブルの作成とデータの挿入
まず、JSON フィールドを含むテーブルを作成する必要があります。名前、年齢、連絡先の詳細などの情報を含むユーザーの詳細を保存するとします。次の SQL ステートメントを使用して、「users」という名前のテーブルを作成できます。
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, info JSON );
次に、INSERT ステートメントを使用して、ユーザー データをテーブルに挿入できます。 INSERT ステートメントでは、JSON_OBJECT 関数を使用して JSON オブジェクトを構築し、それを JSON フィールドに保存できます。以下は例です:
INSERT INTO users (info) VALUES ( JSON_OBJECT('name', 'John', 'age', 25, 'contact', JSON_OBJECT('email', 'john@example.com', 'phone', '1234567890')) );
2. JSON データのクエリ
MySQL では、いくつかの関数を使用して JSON データをクエリできます。以下に、一般的に使用される関数とその使用法を示します。
SELECT JSON_EXTRACT(info, '$.name') AS name FROM users;
SELECT JSON_SEARCH(info, 'one', 'John', NULL, '$.name') AS name_path FROM users;
SELECT * FROM users WHERE JSON_CONTAINS(info, 'John', '$.name');
3. JSON データの更新
JSON_SET 関数を使用して、JSON フィールドの値を更新できます。 JSON_SET 関数は 3 つ以上のパラメータを受け入れます。最初の 2 つのパラメータは、更新される JSON フィールドと更新されるパスです。次のパラメータは、設定されるキーと対応する値です。例を次に示します:
UPDATE users SET info = JSON_SET(info, '$.age', 26) WHERE id = 1;
4. JSON データの削除
JSON フィールドから特定のキーまたは値を削除する場合は、JSON_REMOVE 関数を使用できます。 JSON_REMOVE 関数は 2 つ以上のパラメータを受け入れます。最初のパラメータは削除する JSON フィールドで、後続のパラメータは削除するキーまたはパスです。以下に例を示します:
UPDATE users SET info = JSON_REMOVE(info, '$.name') WHERE id = 1;
概要:
この記事では、MySQL に JSON データを保存およびクエリする方法の基本的な操作を紹介します。 JSON 形式を使用してデータを保存すると、複雑な構造化データをより簡単に操作およびクエリできるようになります。紹介した関数に加えて、MySQL は、より複雑なニーズを満たすために、さらに多くの JSON 関数と演算子も提供します。実際の開発では、アプリケーションのパフォーマンスと柔軟性を向上させるために、特定のビジネス ニーズに応じて JSON 形式を使用してデータを保存することを選択できます。
(注: 上記の例は MySQL 5.7 バージョンに基づいています。他のバージョンを使用している場合、より正確な情報と例については、対応するバージョンの MySQL ドキュメントを参照してください。)
以上がMySQL で JSON 形式を使用してデータを保存およびクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。