これはMysql5.7でのみ実現できると思います。
バージョン5.7では、次のようなことができます。
SELECT JSON_EXTRACT(json_field, '$.name');
名前キーのみを抽出します jsonオブジェクトから。
「JavaScript」タグが付いたすべてのアイテムを検索します:
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
「Java」で始まるタグを持つすべてのアイテムを検索します:
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
「one」を使用して最初の一致を検索するか、「all」を使用してすべての一致を検索します
JSONパスを使用してTwitterのニックネームを抽出できます:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
WHERE句でJSONパスを参照して、Twitterアカウントを持つユーザーのみを返すこともできます:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
次のようなことができます:
-
JSON値の作成
-
JSON値の正規化、マージ、および自動ラッピング
-
JSON値の検索と変更
-
JSON値の比較と順序付け
-
JSON値の集計
詳細については、 https://dev.mysqlを参照してください。 com / doc / refman / 5.7 / en / json.html