MySQL Json类型的数据处理

新建表

CREATE TABLE `user_copy` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `lastlogininfo` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS=1;

插入数据,普通用法:

INSERT INTO user VALUES(1 ,'lucy','{"time":"2015-01-01 13:00:00","ip":"192.168.1.1","result":"fail"}');
INSERT INTO user VALUES(2 ,"bobo",'{"time":"2015-10-07 06:44:00","ip":"192.168.1.0","result":"success"}');

json_object函数用法:

INSERT INTO user VALUES(3 ,"king",JSON_OBJECT("time",NOW(),"ip","192.168.1.1","result","fail"));

json数据条件过滤

SELECT * from `user` where lastlogininfo -> '$.result' = 'fail'
SELECT * FROM `user` WHERE JSON_EXTRACT(lastlogininfo,'$.result') = 'fail';

结果都是:

其表达式为:该json列->'$.键'与JSON_EXTRACT(json列 , '$.键')等效使用。如果传入的不是一个有效的键,则返回Empty set。该表达式可以用于SELECT查询列表 ,WHERE/HAVING , ORDER/GROUP BY中,但它不能用于设置值。

官网地址 : https://dev.mysql.com/doc/refman/5.7/en/json.html 

 

posted @   海阔天空XM  阅读(8456)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2014-05-05 桌面程序开发入门(WinForm with C#)
点击右上角即可分享
微信分享提示