ホームページ > データベース > mysql チュートリアル > MySQL で JSON 形式を使用してデータを保存およびクエリするにはどうすればよいですか?

MySQL で JSON 形式を使用してデータを保存およびクエリするにはどうすればよいですか?

PHPz
リリース: 2023-07-30 21:37:22
オリジナル
2595 人が閲覧しました

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 データをクエリできます。以下に、一般的に使用される関数とその使用法を示します。

  1. JSON_EXTRACT 関数: JSON フィールドから特定の属性または値を抽出するために使用されます。 2 つのパラメーターを受け入れます。最初のパラメーターは JSON フィールド、2 番目のパラメーターは抽出パスです。以下に例を示します:
SELECT JSON_EXTRACT(info, '$.name') AS name FROM users;
ログイン後にコピー
  1. JSON_SEARCH 関数: JSON フィールド内で一致するキーまたは値を検索し、そのパスを返すために使用されます。 3 つのパラメーターを受け入れます。最初のパラメーターは JSON フィールド、2 番目のパラメーターは検索する値、3 番目のパラメーターは検索を開始するパスです。以下に例を示します。
SELECT JSON_SEARCH(info, 'one', 'John', NULL, '$.name') AS name_path FROM users;
ログイン後にコピー
  1. JSON_CONTAINS 関数: JSON フィールドに特定のキーまたは値が含まれているかどうかを確認するために使用されます。 2 つのパラメーターを受け入れます。最初のパラメーターは JSON フィールド、2 番目のパラメーターはチェックするキーまたは値です。以下は例です:
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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート