mysql5.6 以前のデータベースで json をクエリする方法

mysql5.6 以前のデータベースで json をクエリする方法

MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれることがあります。

MySQL が JSON を保存するときに注意すべき形式について説明します。

1: 保存時に中国語のテキストをトランスコードしないように注意してください。トランスコードするとクエリが非常に面倒になります。圧縮するときに、最後に追加のパラメータを追加すると、より便利になります。

json_encode(配列(),JSON_UNESCAPED_UNICODE);

利点: この方法で検索すると、中国語の文字がよりよく一致する

2: フィールドを統一する。保存時にフィールド名を決めるのがベストです。一人で大きなプロジェクトを開発するのは不可能です。フィールドを統一することで、フィールドの不一致による不要なトラブルやバグを大幅に減らすことができます(私はこれで損をしたことがありますが、プロジェクトをみんなでやるときに考えていなかったため、急いでいたためにその後のテストや修正に開発よりも時間がかかってしまいました)

メリット: クエリデータのコード処理量を削減し、プロジェクトページの表示バグを削減します。

3: 1次元配列を保存できる場合は、2次元配列を保存しないでください。

理由: 2 次元配列は制御不能です。これは、依然として需要に基づいています。

個人的な癖です。とにかくこれが私の癖です、ハハハ。不満なら私を殴ってもいいですよ!

では本題に入りましょう。もちろん、クエリでは次のように使用します。

たとえば、テーブルにコンテンツ フィールドがあるとします。ここで、actid が 123456789 であるコンテンツ フィールドを見つける必要があります。

5.7: テーブルから * を選択します where content->'$.actid' like '%123456789%';
5.6: '%"actid":"123456789"%' のような内容のテーブルから * を選択します

これは一目でわかるはずです。教育は間違いなくフルセットであり、ヘルスケアでもあります。そのため、コードの中には、どのように使用するかを言う人もいます

$id = "123456789";
$sql="'%\"actid":\""$id"\"%\' のような内容のテーブルから * を選択します";

上記は、MySQL 5.6 以前のデータベースで JSON をクエリする方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

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

<<:  Vueはechartsを使用して組織図を描画します

>>:  Docker で複数の MySQL コンテナを作成して実行する方法の例

推薦する

3次元画像配置効果を実現する純粋なCSSのサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...

クラウドネイティブテクノロジー Kubernetes (K8S) の紹介

目次01 Kubernetes とは何ですか? 02 KubernetesとCompost+Swar...

Vueのライフサイクルについて詳しく説明します

目次序文1. Vue2 のライフサイクルインスタンスのライフサイクルその他のライフサイクルフック2....

テーブルを開く際のMySQLスレッドの問題の解決方法

問題の説明最近、MySQL5.6.21サーバーがありました。アプリケーションがリリースされた後、同時...

CentOSにDockerをインストールする方法

ここでは比較的簡単なインストール方法のみを紹介します。 1. yumを使用してインストールするyum...

CSS を使用して小さな画像をプルダウンし、大きな画像と情報を表示する方法

今日は、Taobao、JD.comなどのショッピングモールでよく使われている、小さな画像の上にマウス...

オブジェクトアニメーションによってブロックされずにオブジェクトに div を表示する方法

今日はメニューボタンを作りました。マウスをボタンに移動するすると、ドロップダウンサブメニューが表示さ...

v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード

プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...

Linux での Centos7 ファイアウォールの基本的な使用方法の詳細な説明

1. ファイアウォールの基本的な使い方起動する: systemctl は、firewalld を起動...

プロキシはVue3データの双方向バインディングの原理を実現します

目次1. proxy と Object.defineProperty の利点2. プロキシ監視オブジ...

HTML の相対パスと絶対パスの違いの分析

HTML 初心者は、ファイルを正しく参照する方法という問題によく遭遇します。たとえば、HTML ペー...

ユーザーのニーズがマーケティング指向のデザインにつながる

<br />それぞれのトピックについて、チーム内でメールで議論します。議論が白熱するにつ...

Vueコンポーネントの詳細な説明

<本文> <div id="ルート"> <h2&...

Linux のロード vmlinux デバッグ

gdb を使用してカーネル シンボルをロードする arm-eabi-gdb 出力/ターゲット/製品/...