MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します

#json 解析関数 DELIMITER $$
`json_extract_c`$$ が存在する場合は関数を削除します
関数 `json_extract_c` を作成します(
詳細テキスト、
必須フィールド VARCHAR (255)
) テキスト文字セット latin1 を返します
始める
SET details = SUBSTRING_INDEX(details, "{", -1);
SET details = SUBSTRING_INDEX(details, "}", 1);
リターントリム(
  両方 '"' SUBSTRING_INDEX(
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(
        詳細、
        連結(
'"'、
          SUBSTRING_INDEX(必須フィールド,'$.', -1),
':'
        )、
-1
      )、
',',
1
    )、
':',
-1
  )
) ;
終わり$$
区切り文字 ;
例:
アイテム制限 100 から json_extract_c(json, "$.totalDays")、json を選択します。

セルフテスト

テーブル `json_test` を作成します (
 `id` int(11) デフォルト NULL,
 `person_desc` テキスト COLLATE utf8mb4_unicode_ci
) エンジン=InnoDB デフォルト文字セット=utf8mb4 照合=utf8mb4_unicode_ci;
INTO json_test values(2,'{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}');
json_test から id、json_extract_c(person_desc、'$.lastName') を "keys" として選択します。

改善: キーが見つからない場合は '' を返します。以前は、キーが見つからない場合は最初の値が見つかりました。

CREATE DEFINER=`zhangfen`@`%` FUNCTION `json_extract_c`(
詳細テキスト、
必須フィールド VARCHAR (255)
) テキストCHARSET latin1を返します
始める
SET details = SUBSTRING_INDEX(details, "{", -1);
SET details = SUBSTRING_INDEX(details, "}", 1);
リターントリム(
  両方 '"' SUBSTRING_INDEX(
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(
        CONCAT('"":"",',詳細),
        連結(
          '"'、
          SUBSTRING_INDEX(必須フィールド,'$.', -1),
          ':'
        )、
        -1
      )、
      ',',
      1
    )、
    ':',
    -1
  )
) ;
終わり

要約する

上記は、編集者が紹介したMySQL(5.6以下)でJSONを解析する方法の詳細な例です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • MySQL 5.7 における基本的な JSON 操作ガイド
  • MySQL 5.7 JSON 型の使用の詳細
  • Mysql5.7 で JSON 操作関数を使用する手順
  • MySQL 5.7 JSON形式の取得に関する簡単な説明
  • mysql5.6 以前のデータベースで json をクエリする方法
  • MySQLにおけるJSON系列操作関数の詳しい説明
  • MySQL 操作: JSON データ型の操作
  • MySQL の JSON 挿入の問題
  • mysql5.7 の新しい json フィールド タイプの使用例の分析

<<:  VMware 仮想マシンのインストール win7 オペレーティング システム チュートリアル ダイアグラム

>>:  vue-routeルーティング管理のインストールと設定方法

推薦する

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

Windows での Tomcat サーバーのインストールに関するチュートリアル

1 ダウンロードして準備するまず、公式ウェブサイトからTomcatをダウンロードする必要があります。...

JavaScript関数の詳細な説明これを指す問題

目次1.関数内のこの方向1. 通常の機能2. コンストラクター3. オブジェクトメソッド4. イベン...

JavaScriptにおけるこれの深い理解

Jsでのこれの深い理解JavaScriptスコープはstatic scopeスコープですが、 Jsの...

Linuxコマンドをバックグラウンドで実行する方法

通常、ターミナルでコマンドを実行する場合、別のコマンドの入力を開始する前に、現在のコマンドが終了する...

MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス

1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...

Dockerを使用してSpringBootプロジェクトをデプロイする方法

Docker テクノロジの開発により、マイクロサービスの実装にさらに便利な環境が提供されます。Doc...

h1、h2、h3タグを適切に使用する

Web ページを作成する過程では、<h1>、<h2>、<h3> ...

CSS の vertical-align プロパティとベースラインの問題に関する深い理解

vertical-align属性は、主にインライン要素の配置を変更するために使用されます。インライン...

Chromeの最小フォントサイズ制限12pxに対する最終的な解決策

ウェブサイトを作成するユーザーの多くが、このような問題に遭遇すると思います。Chrome のデフォル...

Linuxでファイルの作成時間を表示する方法

1. はじめにLinux でファイルの作成時刻が見つかるかどうかは、ファイル システムの種類によって...

vue+element を使用した Google プラグインの開発プロセス全体

シンプルな機能: ブラウザの右上隅にあるプラグイン アイコンをクリックすると小さなポップアップ ウィ...

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

ChromeとIEに対応したWMPに埋め込まれたHTMLの詳細な紹介

実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...