ホームページ >データベース >mysql チュートリアル >Mysql_MySQLのJSON系列演算関数の詳細説明

Mysql_MySQLのJSON系列演算関数の詳細説明

WBOY
WBOYオリジナル
2016-09-09 08:13:401306ブラウズ

はじめに

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 学習に役立つことを願っています。よろしくお願いします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。