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

推薦する

MySQL 全文インデックスガイド

全文インデックスには特別なクエリ構文が必要です。全文検索はインデックスの有無にかかわらず実行できます...

Nodejs プラグインと使用方法の概要

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 12.19....

Tomcat でよく使われるフィルターの詳細な説明

目次1. クロスドメインフィルタ CorsFilter 1.1 設定例1.2 パラメータの説明2. ...

vue.config.js からプロジェクト最適化までの vue2.x 構成

目次序文vue.config.js 構成オプションパッケージサイズを縮小するためのパッケージの最適化...

小さなプログラムが天井に張り付いてしまう問題を完璧に解決するためにposition:stickyを使用する方法

最近、あるプロジェクトのクライアントが、上部に 2 つのタブ メニューを配置することを要求しました。...

JavaScript バブルソートの例

目次1. バブルソートとは何か2. 例を挙げるラウンド1:第2ラウンド:第3ラウンド:第4ラウンド:...

AES_ENCRYPT() と AES_DECRYPT() を使用して MySQL を暗号化および復号化する正しい方法の例

序文最近、仕事でAES_ENCRYPT()関数を使用してプレーンテキストを暗号化し、MySQL に保...

シンプルなメッセージボードケースを実現するJavaScript

参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

CSS+JS で水滴の波紋アニメーション ボタン効果を実装するサンプル コード

コードは次のようになります。 <!DOCTYPE html> <html lang...

HTMLページの読み込み速度を上げる方法

(1)HTTPリクエストを減らす。 (リソース ファイルをマージし、イメージ スプライトを使用します...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

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

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

Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル

VMware12.0+Ubuntu16.04+MySQL5.7.22 インストールチュートリアルの詳...