mysql 支持json_MySQL 5.7新支持--------Json类型实战

1. 背景*在MySQL 5.7.8中,MySQL支持由RFC 7159定义的本地JSON数据类型,它支持对JSON(JavaScript对象标记)文档中的数据进行有效访问.*MySQL会对DML JSON数据自动验证。无效的DML JSON数据操作会产生错误.* 优化的存储格式。存储在JSON列中的JSON文档转换为一种内部格式,允许对Json元素进行快速读取访问.* MySQL Json类...
摘要由CSDN通过智能技术生成

1. 背景

* 在MySQL 5.7.8中,MySQL支持由RFC 7159定义的本地JSON数据类型,它支持对JSON(JavaScript对象标记)文档中的数据进行有效访问.

* MySQL会对DML JSON数据自动验证。无效的DML JSON数据操作会产生错误.

* 优化的存储格式。存储在JSON列中的JSON文档转换为一种内部格式,允许对Json元素进行快速读取访问.

* MySQL Json类型支持建立索引增加查询性能提升.

2. Json类型所需的存储空间和值范围类型占用字节最大长度

Json数据长度 + 4 bytes4G

3. Json相关函数操作

* JSON_OBJECT(string1, string2...) 创建 key-value 类型 Json 对象mysql> SELECT JSON_OBJECT('k1', 'v1', 'k2', 'v2');

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

| JSON_OBJECT('k1', 'v1', 'k2', 'v2') |

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

| {"k1": "v1", "k2": "v2"}            |

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

1 row in set (0.01 sec)

* JSON_ARRAY(string1, string2...) 创建一个 Json 数组mysql> SELECT JSON_ARRAY('a', 'b', 'c', 'd');

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

| JSON_ARRAY('a', 'b', 'c', 'd') |

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

| ["a", "b", "c", "d"]           |

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

1 row in set (0.00 sec)

* JSON_TYPE(object) 判断并显示数据类型 [ 值非法会报错显示 ]mysql>  SELECT JSON_TYPE('"lisea"');

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

| JSON_TYPE('"lisea"') |

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

| STRING               |

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

1 row in set (0.01 sec)

mysql> SELECT JSON_TYPE('["a", "b", 1]');

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

| JSON_TYPE('["a", "b", 1]') |

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

| ARRAY                      |

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

1 row in set (0.01 sec)

mysql> SELECT JSON_TYPE('1');

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

| JSON_TYPE('1') |

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

| INTEGER        |

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

1 row in set (0.00 sec)

mysql> SELECT JSON_TYPE('{"k1":"v1", "k2":"v2"}');

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

| JSON_TYPE('{"k1":"v1", "k2":"v2"}') |

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值