mysql增删改查json中的某个字段
创建表
1 CREATE TABLE t_json(id INT PRIMARY KEY, NAME VARCHAR(20), info JSON);
插入记录
1 INSERT INTO t_json(id,sname,info) VALUES(1 , 'test' , '{"time":"2017-01-01 13:00:00","ip":"192.168.1.1","result":"fail"}' );
2 INSERT INTO t_json(id,sname,info) VALUES(2 , 'my' ,JSON_OBJECT( "time" ,NOW(), 'ip' , '192.168.1.1' , 'result' , 'fail' ));
查询
查询有多少个键
1 SELECT id, json_keys(info) AS "keys" FROM t_json;
查询字段值
方法1:
1 SELECT json_extract(字段名,'$.json结构') FROM 表名;
如果json里有双引号,那这样取出来的数据也带双引号,要去掉就使用REPLACE函数
例如:
ps_push_data表里的push_data字段存的数据为:{"carRenewalInfoVo":{"licence":"浙AF55Z0"},"code":"1","msg":"成功"}
使用sql
1 SELECT REPLACE(json_extract(push_data,'$.carRenewalInfoVo.licence'),'"','') FROM ps_push_data;
取出来的就是:浙AF55Z0
值得注意的是,只有MySQL5.7及以上版本才支持json数据的操作
方法2:
1 SELECT 字段名 -> '$.json结构' FROM 表名;
同上,如果json里有双引号,那这样取出来的数据也带双引号,要去掉就要使用另一个方法:
1 SELECT 字段名 ->> '$.json结构' FROM 表名;
例如:
ps_push_data表里的push_data字段存的数据为:{"carRenewalInfoVo":{"licence":"浙AF55Z0"},"code":"1","msg":"成功"}
取出来的就是:浙AF55Z0
值得注意的是,只有MySQL5.7及以上版本才支持json数据的操作
删除键
1 UPDATE t_json SET info = json_remove(info, '$.ip' );
增加键
1 UPDATE t_json SET info = json_set(info, '$.ip' , '192.168.1.1' );
变更键
1 UPDATE t_json SET info = json_set(info, '$.ip' , '192.168.1.2' );
mysql增删改查json中的某个字段的更多相关文章
- 基于gin的golang web开发:mysql增删改查
Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...
- MySQL—增删改查,分组,连表,limit,union,alter,排序,去重
MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...
- PHP MySql增删改查
mysql_connect()连接数据库 mysql_select_db选择数据库 mysql_fetch_assoc()获取结果集 mysql_query()执行sql语句 实例如下: <?p ...
- Django学习之mysql增删改查
上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql 使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里.我们通 ...
- mysql增删改查相关操作
mysql增删改查相关操作 以前用mysql用的少,对于数据库相关的操作不熟悉,现在开始要接触数据库了,记录一下相关的基础操作吧. 1.数据库的授权操作 # mysql -u root -p Ente ...
- MySQL增删改查的常用语句汇总
MySQL增删改查的常用语句汇总 以下是总结的mysql的常用语句,欢迎指正和补充~ 一.创建库,删除库,使用库 1.创建数据库:create database 库名; 2.删除数据库:drop da ...
- mysql增删改查练习
Mysql增删改查sql语句练习 关于数据库的一些操作: 进入mysql 命令行: mysql -uroot –p 查看所有数据库: show databases; 创建数据库: create dat ...
- nodejs+express+mysql 增删改查
之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...
- Node+Express+node-mysql 实战于演习 全套mysql(增删改查)
最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...
- mysql—增删改查语句总结
关于MySQL数据库——增删改查语句集锦 一.基本的sql语句 CRUD操作: create 创建(添加) read 读取 update 修改 delete 删除 .添加数据 ,'n001','201 ...
随机推荐
- 使用yum快速安装mysql-5.7(用于测试)
1)CentOS 7 下安装 MySQL 5.7 下载并安装MySQL官方的 Yum Repository [wget -i -c http://dev.mysql.com/get/mysql57-c ...
- GPS授时仪(网络校时服务器)成功投运攀枝花市中西医结合医院
GPS授时仪(网络校时服务器)成功投运攀枝花市中西医结合医院 技术交流:岳峰 15901092122 论述当下网络时间同步的重要性 北京华人开创公司 技术交流15901092122 概述:电脑时间走时 ...
- Java中静态方法和实例方法
static修饰的方法可以直接用方法名. 访问 实例成员方法必须永实例成员调用
- 一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(知识点补充)
知识点补充: Linux进程中的五个段 BSS段(Block Started bySymbol,意为"以符号开始的块"): BSS,是Unix链接器产生的未初始化数据段.通常是 ...
- GIT Authentication failed for错误问题处理
1. Settings ==> Developer settings ==> Personal access tokens ==> Generate new token 生成新的 ...
- fastjson场景
json转java对象 // 将Json字符串通过fastjson转为JSONObject对象 JSONObject jsonObject = JSONObject.parseObject(userJ ...
- 网络-6 IPV6(上)
一.iPv4与ipv6对比 1.ipv4与ipv6优缺点 1.1 Ipv4与ipv6对比,ipv4中的切片使用的三个字段:identification flags fragment offse ...
- 2022 icpc 沈阳站 记录(非题解)
赛前 大概是赛前三周才突然知道拥有了比赛机会. 赛前训练和vp频率很高,有一段时间cf上都是绿的.比赛的那一周只有一天没在vp,到了周六热身赛我人都有点麻木.(可能正赛也是类似的状态吧) 比赛的过程b ...
- ESP_IDF中使用TFT_eSPI库驱动ST7789V
前言: 想学习创建好看的菜单界面很久了,寒假在家正好有时间,手中恰好有一块ST7789的tft屏幕,正好拿来练练手. Step 1: 在github中找到TFT_eSPI库(网址:docs · mas ...
- python中的数据模型
参考:https://docs.python.org/zh-cn/3/reference/datamodel.html 1. 对象.值与类型 对象 是 Python 中对数据的抽象. Python 程 ...