はじめに
JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ていますが、XML よりもシンプルで読みやすく、書きやすいです。マシンによる解析と生成が容易で、ネットワーク帯域幅の送信が削減されます。
JSON の形式は非常にシンプルです: 名前/キー値。 MySQL の以前のバージョンでは、このようなストレージを実装するには、VARCHAR または TEXT ラージ テキストが使用されていました。 MySQL 5.7 のリリース後、JSON データ型と、この型の検索およびその他の関数解析が特別に設計されました。
一緒に練習しましょう。
JSONフィールドを含むテーブルを作成する
たとえば、「article」テーブルの場合、フィールドには次のものが含まれます
ID、タイトルタイトル、タグ
記事には複数のタグがあり、タグはJSONタイプに設定可能です
テーブル作成ステートメントは次のとおりです:
リーリー
データを挿入
JSON コンテンツを含むデータを挿入し、insert ステートメントを実行します。
リーリー
ここに挿入されるのはJOSN配列です [“Mysql”, “Database”]
記事テーブル内のすべてのコンテンツをクエリすると、新しく挿入されたデータが表示されます
クエリ
JSON 関数を使用して 2 つの単純なクエリを作成します
1.「Mysql」タグを持つすべての記事を検索します
リーリー
2. タグで「データ」で始まる記事を検索します
リーリー
JSON_SEARCH 関数の 3 つのパラメーターの意味:
1.探す書類
2. 検索範囲には 2 つのオプションがあり、「one」は条件を満たす最初のものを検索し、「all」は条件を満たすすべてのものを検索します
3.検索条件
JSON パス
JSON パスは、
など、ドキュメント内のターゲット フィールドを見つけるために使用されます。リーリー
結果は次のようになります: mysql
JSON_EXTRACT()
是JSON提取函数,$.name
就是一个 JSON path
、配置されたドキュメントの名前フィールドを示します
JSON path
$ で始まります。他にもいくつかの例があります
リーリー
JSON path
を使用したクエリの例
データを更新
例えば、記事に「dev」タグを追加したい場合、「Mysql」タグが既に含まれており、「dev」タグのデータがまだないことが更新条件となります
更新ステートメントは次のとおりです:
リーリー
「dev」タグが正常に追加されたことがわかります
別の例として、ラベル「Mysql」を「Mysql 5.7.13」に更新する場合、更新ステートメントは次のようになります:
リーリー
上記で説明したように、次のような JSON を変更するための関数がたくさんあります
JSON_MERGE
和 JSON_SET
リーリー
リーリー
データを置き換えるリーリー
配列の末尾にデータを追加しますリーリー
指定した場所からデータを削除します最初の操作経験を通して、Mysql の JSON 操作は比較的スムーズであると感じました。将来的に Mysql でドキュメント構造を使用するのは確かに非常に便利です。
Mysql の新しいバージョンは、MongoDB シェルに似ていて非常に便利な Javascript コンソールも提供します。これについては後ほどまとめます。この記事が皆さんの mysql 学習に役立つことを願っています。よろしくお願いします。