从mysql 5.7开始才有

创建表(含有json类型)

CREATE TABLE `emp_details` (
`emp_no` int(11) NOT NULL,
`details` json DEFAULT NULL,
PRIMARY KEY (`emp_no`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

插入json

INSERT into emp_details (emp_no,details) VALUES ( '1','{"location":"IN","phone":"+15615645656",
"email":"abc@example.com","address":{"line1":"abc","line2":"xyz street","city":"Beijing"}}');

检索json

SELECT emp_no,details->'$.address.city' city FROM emp_details; 或者

SELECT emp_no,details->>'$.address.city' city FROM emp_details;

-> 查询结果有引号

->> 查询结果无引号

json函数

查找

SELECT emp_no FROM emp_details WHERE details->>'$.address.city' = 'Beijing';

也可以使用json_contains函数查询数据,如果找到了数据,则返回1,否则返回0

SELECT json_contains(details->'$.address.line1','"abc"') FROM emp_details

查找一个key,这里one表示至少存在一个键,如果找到了数据,则返回1,否则返回0

SELECT json_contains_path(details,'one','$.address.city') FROM emp_details

SELECT json_contains_path(details,'one','$.address.city','$.address.cit') FROM emp_details

我的数据没有address.cit这个键,但是有address.city,所有返回1

当然,如果要检查是否同时存在,则可以把one换成all

 修改

json_set:替换现有值并添加不存在的值

UPDATE emp_details SET details = json_set(details,"$.address.line1","abcd","$.nickname","kai")

json_insert:不能替换现有值,可以添加不存在的值

json_replace:仅替换现有值

 删除

json_remove

UPDATE emp_details SET details=json_remove(details,"$.nickname") WHERE emp_no = 1

仍然用update!

其他函数

json_keys:获取所有键

SELECT json_keys(details) FROM emp_details WHERE emp_no = 1

json_length:获取所有键的数量

SELECT json_length(details) FROM emp_details WHERE emp_no = 1

转载于:https://www.cnblogs.com/wubenbenxi/p/11042029.html

mysql之使用json相关推荐

  1. mysql 5.7 json函数_Mysql5.7中对于JSON函数设置的案例详细说明

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  2. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  3. mysql+json+检索_如何从mysql中检索JSON数据?

    我有以下表格和他们的关系.我将json数据存储在client_services表中.他们是否可以使用mysql查询检索JSON值.喜欢: select getJson("quota" ...

  4. MySql中json类型的使用___mybatis存取mysql中的json

    MySql中json类型的使用 MySQL从5.7.8起开始支持JSON字段,这极大的丰富了MySQL的数据类型.也方便了广大开发人员.但MySQL并没有提供对JSON对象中的字段进行索引的功能,至少 ...

  5. MySQL操作之JSON数据类型操作详解

    MySQL操作之JSON数据类型操作详解 这篇文章主要介绍了MySQL操作之JSON数据类型操作详解,内容较为详细,具有收藏价值,需要的朋友可以参考. 概述 mysql自5.7.8版本开始,就支持了j ...

  6. mysql sql查询json数据类型_SQL中的JSON数据类型

    SQL中的JSON数据类型 概述 MySQL支持原生JSON类型,使用JSON数据类型相较于将JSON格式的字符串存储在String型中的优势有: 存储时会自动验证JSON文本: 可以优化存储格式.存 ...

  7. mysql操作json优点和缺点_详解Mysql中的JSON系列操作函数

    前言 JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写.对机器来说易于解析和生成,并且会减少网络带宽的传输. JSON的格式非常简单:名称/ ...

  8. MySQL中关于JSON你不得不知道的那些事!

    csdn这个makedown编辑有点问题,这篇文章格式好一点,传送门:http://blog.csdn.net/sheldon761642718/article/details/72677156 My ...

  9. 【MySQL】对JSON数据操作(全网最全)

    [MySQL]对JSON数据操作(全网最全) 总所周知,mysql5.7以上提供了一种新的字段格式-json,大概是mysql想把非关系型和关系型数据库一口通吃,所以推出了这种非常好用的格式,这样,我 ...

  10. 如何在 MySQL 中使用 JSON 数据,在 MySQL 中学习“NoSQL”

    MySQL 支持本机JSON数据类型,该数据类型支持 JSON 文档的自动验证和优化存储和访问.尽管 JSON 数据最好存储在MongoDB等 NoSQL 数据库中,但您仍然可能会不时遇到包含 JSO ...

最新文章

  1. solaris11学习必用工具及ISO
  2. 2014年第五届蓝桥杯决赛Java本科B组试题解析
  3. C# ACCESS数据库操作类
  4. 计算机教育杂志社投稿送样刊,山东教育杂志社投稿期刊论文征稿发表-陶润杂志网...
  5. [CF1442 D] Sum(分治优化dp + 结论)
  6. 跟我一起屏蔽百度搜索页面右侧的内容
  7. 如何愉快地学习 Go 语言?来场 Go 之旅吧!
  8. 信息学奥赛一本通 1258:【例9.2】数字金字塔
  9. libevent 例子,从简单到复杂
  10. 【重难点】【Java集合 01】HashMap 和 ConcurrentHashMap
  11. 让Delphi的DataSnap发挥最大效率
  12. idea展现目录清晰方式
  13. python控制台编写_Python:为控制台prin编写unittest
  14. linux 开源网卡驱动,AMDGPU linux开源驱动
  15. DirectShow 开启摄像头
  16. Seaborn(三)调色板palette
  17. 勤哲EXCEL服务器财务进销存系统
  18. 没有猪一样的队友,只有猪一般的队长
  19. pandas学习(数据分组与分组运算、离散化处理、数据合并)
  20. c语言程序电机,直流电机控制C语言程序

热门文章

  1. mysql 查看修改连接数据库_mysql查看最大连接数和修改mysql数据库最大连接数方法...
  2. 休闲甜品店创业计划书_甜品店创业计划书
  3. pythonscrapy爬虫_使用Python3和Scrapy进行网站图片爬虫自动下载
  4. java64字节指令包,JVM 字节码指令解析
  5. 计算机信息与自然科学,郑旭飞 - 计算机与信息科学学院 - Powered by 西南大学
  6. c语言扎金花编程,一个C语言开发的炸金花纸牌游戏附带vs性能分析报告
  7. PySpark-Recipes : RDD对象的基本操作
  8. caffe手写数字分类-学习曲线
  9. 如何解决类似 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 的问题 #10
  10. pcb钻孔披锋改善报告_【热点】大族激光:大客户下单积极,公司PCB业务有望延续增势...