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 クラスターを構築する方法 (画像とテキスト付き)

推薦する

Docker を使用して Go Web アプリケーションをデプロイする方法

目次なぜ Docker が必要なのでしょうか? Docker デプロイメントの例コードの準備Dock...

Vue3 での watchEffect の使用に関する簡単な分析

序文誰もが vue2 の watch API に精通している必要があります。vue2 の vue イ...

MySQL接続がハングする理由の詳細な説明

目次1. 背景建築問題現象2. 分析プロセス接続プール不安に陥る雲を晴らして光を見よう3. 解決策I...

httpsウェブサイトにリファラーhttpsとhttpジャンプリファラーを送信させる方法

この記事では、HTTP プロトコルのリファラーのメタデータ パラメータの提案について説明します。この...

DockerにMinIOをインストールするための詳細な手順

目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...

MySQL ユーザー変数と set ステートメントの例の詳細な説明

目次1 ユーザー変数の概要2 ユーザー変数の定義3 ユーザー変数の使用3.1 セットを通した例3.2...

不規則な投影を実現するためのボックスシャドウとドロップシャドウのサンプルコード

border-radius で生成できる四角形やその他の図形に影を追加する場合 (「Adaptive...

MySQL スロークエリ: スロークエリを有効にする

1. スロークエリの用途は何ですか? long_query_time を超えて実行されるすべての S...

サイト全体を灰色にするCSSコードのまとめ

国務院は本日、新型コロナウイルス感染症との闘いで殉教した方々と犠牲者に対し、全国各民族人民の深い哀悼...

JavaScript プロトタイプとプロトタイプチェーンの詳細

目次1. プロトタイプ(明示的なプロトタイプ) 2. __proto__ (暗黙のプロトタイプ) 3...

Dockerを使用してクローンリポジトリを使用してGitイメージを構築する

概要私は 1 年以上 Docker を使用しています。最近、サービスをすばやくオーケストレーションし...

React NativeプロジェクトでLottieアニメーションを使用する方法

Lottie は、Airbnb が開発した iOS、Android、React Native 向けの...

MySQL スロークエリログの役割と公開

序文MySQL スロー クエリ ログは、MySQL が提供するログ レコードの一種です。これは、応答...

フォーム OnSubmit と input type=image の使用の概要

ここに <input type="image"> がある場合、この画...

コンテンツウェブページの画像プレビューのデザイン

<br />以前、「コンテンツページ番号のプレビューナビゲーション」と「写真プレビューナ...