MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

テーブル構造は次のとおりです。

id varchar(32) 
情報JSON

データ:

id = 1
info = {"age": "18","disname":"シャオミン"}

--------------------------------------------

ここで、info 内の disanme の値を取得する必要があります。クエリ メソッドは次のとおりです。

1.

tableName t から disname として t.id、JSON_EXTRACT(t.info、'$.disname') を選択します (1=1)

結果:

id = 1、名前変更 = "シャオミン"

上記の SQL ステートメントにある disname 値には二重引用符が含まれています。二重引用符が必要ない場合もあります。その場合は、次の方法を使用する必要があります。

2.

t.id,t.info ->> '$.disname' をテーブル名 t から disname として選択します (1=1)

結果:

id = 1、名前変更 = シャオミン

ps: MySQLクエリのjsonフィールドを見てみましょう

テーブルステートメントの作成

テーブルを作成 
 テーブル「test」を作成します(
  `id` int(10) ,
  `user` json DEFAULT NULL COMMENT 'ユーザー情報',
  主キー (`id`)
 ) エンジン=InnoDB AUTO_INCREMENT=6 デフォルト文字セット=utf8

データの挿入

JSONデータの外側では、区別するために一重引用符が必要であることに注意してください。

test (id,USER) に値(1,'{"name": "tom", "age": 18, "money": 3000}')を挿入します。
test (id,USER) に VALUES(2,'{"name": "jack", "age": 20, "money": 100}') を挿入します。
test (id,USER) に VALUES(3,'{"name": "tony", "age": 21, "money": 100}') を挿入します。
test (id,USER) に VALUES(4,'{"name": "danny", "age": 21, "money": 20}') を挿入します。
test (id,USER) に VALUES(5,'{"name": "janny", "age": 23, "money": 20}') を挿入します。

表のデータは以下のとおりです

クエリステートメント

SELECT id,JSON_EXTRACT(USER,'$.name')FROM test;

クエリの結果は次のとおりです

要約する

上記は、MySQL クエリ フィールド タイプが json の場合にエディターが紹介する 2 つのクエリ メソッドです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • MySql ファジークエリ JSON キーワード取得ソリューションの例
  • Mysql クエリの結果セットを JSON データに変換するサンプル コード
  • MySQL で JSON 形式のフィールドをクエリする詳細な説明
  • MySQL json 形式のデータクエリ操作
  • MysqlクエリJSON結果に関連する関数の概要
  • MySQL フルテキスト インデックス、ジョイント インデックス、Like クエリ、JSON クエリのうち、どれが高速ですか?
  • Python クエリ mysql、json インスタンスを返す
  • mysql5.6 以前のデータベースで json をクエリする方法
  • Mysqlは保存されたJSON文字列内のデータを直接クエリします

<<:  node.js で EventEmitter をカスタマイズする方法

>>:  Docker を使用して nginx で tomcat クラスターを構築する方法 (画像とテキスト付き)

推薦する

ウェブページ作成のヒントのまとめ

序文この記事は主に、日常の Web ページ制作で遭遇する問題解決スキルの一部をまとめ、皆さんの参考と...

グループ化されたクエリでのGROUP BYの使用とSQL実行順序の説明

SQL では、GROUP BY は SELECT の結果のデータをグループ化するために使用されます。...

Linuxネットワーク構成ツールの使用

この記事では、RHEL8 のネットワーク サービスとネットワーク構成ツール、およびネットワーク ファ...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...

vue3 タイムスタンプ変換 (フィルターを使用せずに)

vue2 では、タイムスタンプを変換するときに、通常はフィルターを使用します。vue3 以降では、...

JavaScript ツールチェーンの不完全なガイド

目次概要静的型チェックコードスタイルチェック(Linter)パッケージマネージャーモジュールローダー...

XHTML 2.0 新機能プレビュー

<br />ブラウザが次世代のXHTMLを処理できるようになる前に、このよりリッチなコン...

Linux クラウド サーバー上に SFTP サーバーとイメージ サーバーを構築する方法

まず、SFTP プロトコルと FTP プロトコルの違いを理解してください。ここでは詳細には触れません...

Mysql の一時テーブルとパーティションテーブルの違いの詳細な説明

一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...

CocosCreator MVCアーキテクチャの詳細な説明

概要この記事では、ゲームクライアントでよく使用される MVC アーキテクチャについて紹介します。ゲー...

スワイパープラグインを使用して Vue でカルーセルを実装する例

目次vue - スワイパープラグインを使用してカルーセルを実装するカルーセルのバグを解決するには、w...

オンデマンドで Vue コンポーネントを自動的にインポートする方法

目次グローバル登録部分登録ローカル自動登録さまざまなソリューションの比較コンポーネント名について参照...

MySQL 外部キー制約の一般的な操作の例 [表示、追加、変更、削除]

この記事では、例を使用して、MySQL 外部キー制約の一般的な操作について説明します。ご参考までに、...

Linux で TCP 接続の最大数をテストする方法

序文TCP サーバの最大同時接続数に関して、「ポート番号の上限が 65535 であるため、TCP サ...

MySQLインデックス最適化分析に関する簡単な説明

記述した SQL クエリが遅いのはなぜですか?作成したインデックスが頻繁に失敗するのはなぜですか?こ...