我是靠谱客的博主 沉静蓝天,最近开发中收集的这篇文章主要介绍mysql5.7支持json类型吗_mysql 5.7 支持json格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、JSON格式的支持:

mysql> create table user ( uid int auto_increment,

-> data json,primary key(uid))engine=innodb;

Query OK, 0 rows affected (0.01 sec)

mysql> insert into user values (NULL,

-> '{"name":"David","mail":"greenforestquan@163.com","address":"Shangahai"}');

Query OK, 1 row affected (0.00 sec)

mysql> insert into user values (NULL,'{"name":"Amy","mail":"amy@gmail.com"}');

Query OK, 1 row affected (0.00 sec)

【上面创建了data字段使用了【json】类型,此时data在插入数据时,其格式必须严格遵守json格式 即{"键1":"值1","键2":"值2"}】

2、查询json格式的字段

mysql> select jsn_extract(data, '$.name'),jsn_extract(data,'$.address') from user;

+-----------------------------+-------------------------------+

| jsn_extract(data, '$.name') | jsn_extract(data,'$.address') |

+-----------------------------+-------------------------------+

| "David" | "Shangahai" |

| "Amy" | NULL |

+-----------------------------+-------------------------------+

2 rows in set (0.00 sec)

3、给json格式的某个键字段创建索引。首先创建虚拟列,之后在改虚拟列上创建索引。

mysql> ALTER TABLE user ADD user_name varchar(128)

-> GENERATED ALWAYS AS (jsn_extract(data,'$.name')) VIRTUAL;

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> select user_name from user;

+-----------+

| user_name |

+-----------+

| "Amy"     |

| "David"   |

+-----------+

2 rows in set (0.00 sec)

mysql> alter table user add index idx_username (user_name);

Query OK, 2 rows affected (0.01 sec)

Records: 2  Duplicates: 0  Warnings: 0

4、之后通过虚拟列名对json特定列进行索引查询:

mysql> explain select * from user where user_name='"Amy"'G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: user

partitions: NULL

type: ref

possible_keys: idx_username

key: idx_username

key_len: 131

ref: const

rows: 1

filtered: 100.00

Extra: NULL

1 row in set, 1 warning (0.00 sec)

最后

以上就是沉静蓝天为你收集整理的mysql5.7支持json类型吗_mysql 5.7 支持json格式的全部内容,希望文章能够帮你解决mysql5.7支持json类型吗_mysql 5.7 支持json格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部