序文: 長いテストを経て、システム全体が https://dev.mysql.com/doc/ref... 1. 概要
2. JSON基本ツール//JSON_ARRAY メソッドを使用して JSON 配列を定義します。 JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) を選択します //結果: [1, "abc", null, true, "11:30:24.000000"] //JSON_OBJECT メソッドは JSON オブジェクトを定義します SELECT JSON_OBJECT('id', 87, 'name', 'carrot') //結果 {"id": 87, "name": "carrot"} //配列とオブジェクトのネスト シナリオ。 [99, {"id": "HK500", "cost": 75.99}, ["hot", "cold"]] {"k1": "value", "k2": [10, 20]} //日付/時刻型の定義 ["12:18:29.000000", "2015-07-29", "2015-07-29 12:18:29.000000"] //JSON_QUOTE は JSON オブジェクトを文字列にエスケープします。つまり、内部シンボルをエスケープし、オブジェクト全体を二重引用符で囲みます。 JSON_QUOTE(' "null" ') // 結果 "\"null\"" //JSON コンテンツを整形して出力します。 JSON_PRETTY() //JSON または JSON 内の要素を他のデータ型に変換できます。 //JSON jdoc 内の id 要素を次のように unsigned int に変換します。 [https://dev.mysql.com/doc/refman/8.0/en/json.html#json-converting-between-types] (https://dev.mysql.com/doc/refman/8.0/en/json.html#json-converting-between-types) ORDER BY CAST(JSON_EXTRACT(jdoc, '$.id') AS UNSIGNED);
-> --> 演算子は、キーに従って値を検索します。違いは、 --> は " とエスケープ文字を削除することです。同等の // {"mascot": "私たちのマスコットは「サキラ」という名前のイルカです。"} mysql> col->"$.mascot" を qtest から選択します。 // 結果: | 「私たちのマスコットは「サキラ」という名前のイルカです。」 | SELECT sentence->>"$.mascot" FROM facts; // 結果: | 私たちのマスコットは「Sakila」という名前のイルカです。 | 3. JSONパス式上記の二重引用符 ( --> ) 内の内容は、いわゆる 次の JSON を例に挙げます。 [3、{"a": [5、6]、"b": 10}、[99、100]] $[0] = 3 ; $[1] = {"a": [5, 6], "b": 10}; $[2] = [99, 100]; 同時に、$[1]、$[2]はスカラーではなく、さらに $[1].a = [5,6] $[1].a[1] = 6 $[1].b = 10; $[2][0] = 99; さらにサポートされている構文機能 $[n から m] $[ 1 から 2] = [{"a": [5, 6], "b": 10}, [99, 100]] $[last-2 から last-1] = [3, {"a": [5, 6], "b": 10}] 要約すると;
4. JSONを検索して変更する// 上記のように、代わりに --> 構文を使用することもできます。 mysql> JSON_EXTRACTを選択します('{"a": 1, "b": 2, "c": [3, 4, 5]}', '$.*'); //[1, 2, [3, 4, 5]] JSON_EXTRACT('{"a": 1, "b": 2, "c": [3, 4, 5]}', '$.c[*]')を選択します //[3, 4, 5] JSON_EXTRACT('{"a": {"b": 1}, "c": {"b": 2}}', '$**.b')を選択します。 //[1, 2] JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1から3]')を選択します。 //[2, 3, 4] //JSON_SET JSON_INSERT JSON_REPLACE JSON_REMOVE SET @j = '["a", {"b": [true, false]}, [10, 20]]'; JSON_SET(@j, '$[1].b[0]', 1, '$[2][2]', 2)を選択します。 //| ["a", {"b": [1, false]}, [10, 20, 2]] JSON_INSERT(@j, '$[1].b[0]', 1, '$[2][2]', 2)を選択します。 //["a", {"b": [真、偽]}, [10, 20, 2]] JSON_REPLACE(@j, '$[1].b[0]', 1, '$[2][2]', 2) //["a", {"b": [1, 偽]}, [10, 20]] JSON_REMOVE(@j, '$[2]', '$[1].b[1]', '$[1].b[1]')を選択します。 //["a", {"b": [true]}]
JSON_TABLE から * を選択( '[{"a":"3"},{"a":2},{"b":1},{"a":0},{"a":[1,2]}]', -> "$[*]" -> 列( -> rowid 順序性、 -> ac VARCHAR(100) PATH "$.a" 空の場合はデフォルト '111' エラーの場合はデフォルト '999' -> aj JSON PATH "$.a" デフォルト '{"x": 333}' が空の場合、 -> bx INT パス "$.b" が存在する -> ) -> ) AS tt;
現時点では価値があるとは思えません。 現時点では価値がないと思いますが、戻り値を別の型に変換することで集計関数を使用できます。 MySQL 8.0 で JSON を操作できることに関するこの記事はこれで終わりです。MySQL 8.0 で JSON を操作することに関するより関連のあるコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: ElementUI コンポーネント el-dropdown (落とし穴)
序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...
JDKをダウンロードしてインストールするステップ 1: まず、公式 Web サイト http://...
背景最近、Node.js を勉強しているのですが、クラウド サーバーがあることを思い出しました。しか...
目次序文ドローコールとはDrawCall はパフォーマンスにどのような影響を与えますか?ドローコール...
Docker 公開方法は、DevOps (送信、コンパイル、パッケージ化、リリースなどの一連のイベ...
序文最近、MySQL のインデックスについて読んでいました。結合されたインデックスを見ると、左端の原...
前回の記事では、MySQL の置換関数 (Replace) とセグメンテーション関数 (SubStr...
目次1. Node Exporterをインストールする2. cAdvisorをインストールする3. ...
この記事では、centos7 システムの nginx サーバーの下に phalcon 環境を構築する...
1. インストール方法は? 1. [実行] -> [cmd] と入力して、小さな黒いウィンドウ...
JWT の紹介JWTとは正式名称はJSON Web Tokenで、現在最も人気のあるクロスドメイン認...
目次問題のシナリオ:解決: 1. フィールドを個別にチェックする2. フォームフィールドの下のフィー...
目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...
この記事では、JavaScriptで動的なデジタル時計を実装するための具体的なコードを参考までに紹介...
js データ型基本データ型: 数値、文字列、ブール値、未定義、null、シンボル、参照データ型: オ...