前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql5.7 JSON类型体验

mysql5.7 JSON类型体验

作者头像
王念博客
发布2019-07-24 10:39:21
1.3K0
发布2019-07-24 10:39:21
举报
文章被收录于专栏:王念博客王念博客王念博客

前言:为了兼容传统的sql语句,mysql5.7支持原生的json格式的字符串,即将关系型数据库和文档型集于一身。

1.使用json类型需要先查看一下当前mysql的版本

select version();

2.创建json类型的字段,用mysql图形客户端的需要下载支持mysql5.7新特型的。

CREATE TABLE `test_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

3.插入

INSERT into test_table VALUES(null,'{"name":"测试1","age":1}');
INSERT into test_table VALUES(null,'{"name":"测试2","age":10}');

4.提取json里面的参数

SELECT json_extract(content,'$.name') as name ,json_extract(content,'$.age') as age from test_table

5.更新json字段的参数

JSON_REPLACE()替换已有的,如果是新的参数,不会添加

update test_table set content=json_replace(content,'$.name',"测1") where json_extract(content,'$.age')=1

6.添加json字段的参数

JSON_INSERT()可以添加新值,但它不会替换已存在的值。

update test_table set content=json_insert(content,'$.sex',"男") where json_extract(content,'$.age')=1

7.更新或新增json字段的参数

JSON_SET()替换已有的参数,如果没有会新增。

update test_table set content=json_set(content,'$.sex1',"女") where json_extract(content,'$.age')=1

8.删除json字段的参数

JSON_REMOVE()移除JSON文档中给定的一个或多个参数,如果不存在的话,函数会忽略。

update test_table set content=json_remove(content,'$.sex1') where json_extract(content,'$.age')=1
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档