最近刚好用到了MySQL的JSON函数做了一些数据处理相关的工作,顺便记录总结一下相关知识点和用法。
MySQL从5.7.8开始支持原生JSON数据类型,以JSON类型存储json格式的数据,比字符串类型存储json格式的数据有以下几点优势:
1.JSON类型字段提供自动校验功能,非标签JSON写入JSON类型的字段会提示出错。
2.JSON类型存储的读取性能更好,mysql内部对JSON类型数据做了存储优化,可无需读取整个字段值,直接读取json的key对应的值或者数组下标。
3.JSON类型字段无法设置非空默认值(mysql8.0版本开始支持非空默认值)。
4.JSON类型字段占据的存储空间和longblob、longtext差不多。
5.MySQL8.0支持直接对JSON类型字段的JSON值进行增删改查操作,无需整个字段内容取出再操作,很方便。
6.从MySQL8.0开始还支持JSON字段添加索引,目前支持最多三层JSON深度的索引。
下面总结MySQL JSON常用使用方法:
首先新建表:
1.添加JSON值
标准格式:
mysql> INSERT INTO t1 VALUES('{"key1": "value1", "key2": "value2"}');Query OK, 1 row affected (0.01 sec)
插入不符合JSON格式的值,会报错,说明mysq