mysql中json字段的常用操作

新版本5.7.20中加入了对json字段的支持,这无疑对数据的操作更加方便了。下面我们就来一起学习下在mysql中如何操作json字段

一, 创建表

CREATE TABLE `t_sys_userinfo`  (
  `USR_NO` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '内部用户号',
  `PROV` varchar(16) COMMENT '省份',
  `CITY` varchar(8)COMMENT '城市',
  `LIKE` json COMMENT '爱好'
  `RULE_STS` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态\r\n            S:生效\r\n            F:失效',
  `TM_SMP` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`USR_NO`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci

二, 插入数据

INSERT INTO `t_sys_userinfo` VALUES ('USR201010081501280001', '福建省', '厦门市', '[\"足球\", \"篮球\", \"羽毛球\"]', 'S', '2017-06-22 10:11:43');

三, 查询数据

1,模糊查询:

SELECT *
FROM t_sys_userinfo t
where JSON_SEARCH(t.LIKE, 'one', '羽毛球%') IS NOT NULL;
SELECT *
FROM t_sys_userinfo t
where JSON_SEARCH(t.LIKE, 'all', '羽毛球%') IS NOT NULL;
-- one_or_all:"one"表示查询到一个即返回;"all"表示查询所有。

2,非模糊查询:

SELECT *
FROM t_sys_userinfo t
where JSON_CONTAINS(t.`LIKE`, '["羽毛球"]')

 

未完

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值