mysql查询字段类型为json时的查询方式有哪些
发布时间:2022-01-21 13:37:50 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要为大家展示了mysql查询字段类型为json时的查询方式有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下mysql查询字段类型为json时的查询方式有哪些这篇文章吧。 表结构如下: id varchar(32) info
这篇文章主要为大家展示了“mysql查询字段类型为json时的查询方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql查询字段类型为json时的查询方式有哪些”这篇文章吧。 表结构如下: id varchar(32) info json 数据: id = 1 info = {"age": "18","disname":"小明"} -------------------------------------------- 现在我需要获取info中disanme的值,查询方法有: 1. select t.id,JSON_EXTRACT(t.info,'$.disname') as disname from tableName t where 1=1 结果: id = 1, disname=“小明” 以上sql查出的disname值是带有双引号的,有时我们不需要双引号,此时就需要用到下面这种方式。 2. select t.id,t.info ->> '$.disname' as disname from tableName t where 1=1 结果: id = 1 , disname=小明 ps:下面看下mysql查询json字段 建表语句 Create Table CREATE TABLE `test` ( `id` int(10) , `user` json DEFAULT NULL COMMENT '用户信息', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 插入数据 需要注意的是,json数据外面需要单引号来区别 INSERT INTO test (id,USER) VALUES(1,'{"name": "tom", "age": 18, "money": 3000}'); INSERT INTO test (id,USER) VALUES(2,'{"name": "jack", "age": 20, "money": 100}'); INSERT INTO test (id,USER) VALUES(3,'{"name": "tony", "age": 21, "money": 100}'); INSERT INTO test (id,USER) VALUES(4,'{"name": "danny", "age": 21, "money": 20}'); INSERT INTO test (id,USER) VALUES(5,'{"name": "janny", "age": 23, "money": 20}'); 表数据如下 以上是“mysql查询字段类型为json时的查询方式有哪些”这篇文章的所有内容,感谢各位的阅读! (编辑:上海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |