如何利用JSON类型
1、建表
在MySQL中创建具有JSON数据列的表,实在和数据类型没有太大差异,详细举例如下:
CREATE TABLE tab_base_info ( id BIGINT NOT NULL PRIMARY KEY auto_increment, content json);
2、新增数据

插入一条语句,把稳看JSON数据列的内容:
INSERT INTO tab_base_info(content) VALUES ('{\"大众author\公众: \公众HWB\"大众, \"大众toutiao\公众: \"大众https://www.toutiao.com/a6712764513814315528\"大众}');
这里须要提醒的是:
JSON列存储的数据要么是NULL,要么必须是JSON格式数据,否则会报错。JSON数据类型是没有默认值的(声明时\"大众DEFAULT NULL\"大众)。JSON数据类型意义实在,没有JSON数据类型的支持,我们一样可以通过varchar类型或者text等类型来保存这一格式的数据,但是,为什么还要专门增加这一数据格式的支持呢?个中肯定有较varchar或者text来存储此类型更优胜的地方。
担保了JSON数据类型的强校验,JSON数据列会自动校验存入此列的内容是否符合JSON格式,非正常格式则报错,而varchar类型和text等类型本身是不存在这种机制的。MySQL同时供应了一组操作JSON类型数据的内置函数。更优化的存储格式,存储在JSON列中的JSON数据会被转成内部特定的存储格式,许可快速读取。可以基于JSON格式的特色支持修正特定的键值。(即不须要把整条内容拿出来放到程序中遍历然后探求更换再塞回去,MySQL内置的函数许可你通过一条SQL语句就能搞定)MySQL关于JSON的内置函数MySQL关于JSON数据格式的操作供应了很多高效率的内置函数,我们可以从MySQL官网上找到很详细的先容和利用解释,下面贴一张JSON函数的指南:
实在从JSON功能先容的主页也可以看到,这些内置函数支持我们创建、查找、更换和返回值等干系的操作,像我们更换指定内容的操作就可以利用JSON_REPLACE()这个函数,不过末了实现通过纯SQL语句实行终极的内容更换,还须要通过实行UPDATE语句,比如:
UPDATE tab_base_info SET content = json_replace(content, '$.author', \公众xiaoming\"大众) WHERE id = 1;
个中“$.”表示找到JSON内容中匹配的修正字段。
篇幅有限,这里紧张先容一下json的一些观点,后面会先容下涉及到json类型的详细用法,感兴趣的朋友可以关注一下~