从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

mysql操作json优点和缺点_mysql之使用json相关推荐

  1. mysql操作json优点和缺点_MYSQL 5.7中的本机JSON支持:MYSQL中JSON数据类型的优缺点是什么?...

    在MySQL 5.7中,新的数据类型用于在JSON表中存储JSON数据. 添加. 显然,这将是MySQL的巨大变化. 他们列出了一些好处 Document Validation - Only vali ...

  2. json mysql 字段 默认值_MySQL中的JSON类型

    前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...

  3. mysql 封装json数据类型_mysql中的json数据类型

    1. json JSON数组包含一个由逗号分隔的值列表,并包含在 字符[和]字符中: ["abc", 10, null, true, false] JSON对象包含一组由逗号分隔的 ...

  4. mysql操作json优点和缺点_MySQL与JSON-为什么?

    我正在设计一个小的网络应用程序/游戏. 哪个更好:MySQL表或json文件? 它们都存储信息. 它们都可以由PHP解析. 优点/缺点是什么? 这就是我的意思: username | password ...

  5. mysql json函数_Mysql里的JSON系列操作函数

    新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询.修改等操作,下面就实际体验一下 创建带有 JSON 字段的表 比如一 ...

  6. mysql sql查询json数据_mysql如何查询json的值

    mysql查询json的值的方法:首先打开命令窗口:然后执行SQL语句"SELECT REPLACE(json_extract(push_data,'$.carRenewalInfoVo.l ...

  7. mysql操作手册我_MySQL使用指南一

    我将MySQL常用指令整理出来分享给大家. 1. 列出所有数据库 mysql> show databases; 2. 创建数据库 mysql> create databases MySto ...

  8. mysql操作json优点和缺点_SQL-mysql操作json

    一 前言 MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常:其次,储存json ...

  9. Spark SQL与外部数据源的操作(Spark SQL ——> CSV/JSON/Parquet/hive/mysql)

    目录 一.Spark SQL支持的外部数据源 二.Spark SQL -> CSV 2.1 读CSV文件 a.有列名 b.无列名 2.2 写CSV文件 三.Spark SQL -> JSO ...

最新文章

  1. 关于在phpStudy环境下,windows cmd中 php不是内部命令问题
  2. java file.canexecute_Java File canExecute()用法及代碼示例
  3. 配置https后访问返回403 forbidden
  4. Js Array数组ES5/ES6常用方法
  5. breakout room at teams
  6. C#中三种截屏方式总结
  7. java执行python路径_如何在Python中获取当前执行文件的路径?
  8. 报错:undefined reference to `requestVerifyCode(char*)‘解决
  9. 大学四年,学了这些计算机基础知识,成为了别人眼中的大神
  10. 新文件泄露更多NSA卫星监听站的信息
  11. DAZ场景转换进3Dmax
  12. sigmoid/逻辑回归/多元逻辑回归/softmax 区别
  13. 借助echarts制作酷炫3d地球动画
  14. java牛客网输入输出
  15. 双端口USB Type-C控制器 CYPD6227 (CYPD6227-96BZXI)
  16. 互联网项目,京东店群、淘宝店群和天猫无货源店群,创业者该如何选择?
  17. 手机link.php,PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
  18. 获得“网管师”资格证书,开启新的网管职业生涯
  19. 老司机 iOS 周报 #41 | 2018-10-29
  20. 奋斗在制造业----转行信息化

热门文章

  1. 读书笔记:《时间投资法》之三
  2. 只要你上网,哪能不中毒?
  3. 网络(7)-HTTP(HyperText Transfer Protocol,超文本传输协议)
  4. 【nacos系列】nacos配置中心管理实战
  5. 2011系统架构师大会分享-自动化运维中的关系管理
  6. 危机时刻,我们需要多少个“冷锋”?
  7. poj1182(并查集)
  8. 发布虚拟机WEB服务 备忘
  9. Java 7 对ArrayList和HashMap的性能的提升
  10. 通用高性能 Windows Socket 组件 HP-Socket v2.2.1(增加 PULL 模型支持)