时间:2023-10-29来源:系统城装机大师作者:佚名
下面用这个表来执行查询演示:
1 2 3 4 5 6 |
CREATE TABLE `users` ( `id` int unsigned NOT NULL AUTO_INCREMENT, ` name ` varchar (255) NOT NULL COMMENT '姓名' , `address` json NOT NULL COMMENT '住址' , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
插入几条数据
1 2 3 4 5 6 7 |
INSERT INTO `users` VALUES (1, '张三' , '{\"city\": \"石家庄市\", \"tags\": [\"家\", \"公司\"], \"district\": \"桥西区\", \"province\": \"河北省\"}' ); INSERT INTO `users` VALUES (2, '李四' , '{\"city\": \"广州市\", \"tags\": [\"宿舍\"], \"district\": \"珠海区\", \"province\": \"广州省\"}' ); INSERT INTO `users` VALUES (3, '王五' , '{\"city\": \"长春市\", \"district\": \"绿园区\", \"province\": \"吉林省\"}' ); INSERT INTO `users` VALUES (4, '刘六' , '{\"city\": \"昌平区\", \"province\": \"北京市\"}' ); INSERT INTO `users` VALUES (5, '张三三' , '[{\"city\": \"石家庄市\", \"tags\": [\"家\", \"公司\", \"学校\"], \"district\": \"桥西区\", \"province\": \"河北省\"}, {\"city\": \"郑州市\", \"tags\": [\"宿舍\"], \"district\": \"桥东区\", \"province\": \"河南省\"}]' ); INSERT INTO `users` VALUES (6, '李四四' , '[{\"city\": \"广州市\", \"tags\": [\"宿舍\"], \"district\": \"珠海区\", \"province\": \"广州省\"}, {\"city\": \"广州市\", \"district\": \"珠海区\", \"province\": \"广州省\"}]' ); INSERT INTO `users` VALUES (7, '王五六' , '[\"家\", \"公司\", \"学校\"]' ); |
1、函数查询:json_extract(
json字段, '$.json属性')
1 | select * from users where json_extract(address, '$.province' ) = "河北省" ; |
2、对象操作方法进行查询:json字段->'$.json属性'
1 | select * from users where address-> '$.province' = "河北省" ; |
1、数组操作方式查询:字段->'$[0]'
1 | select * from users where address-> '$[0]' = "家" ; |
1、函数查询:json_length(
json字段)
1 | select * from users where json_length(address) = 2; |
1、函数查询:json_length(
json字段)
1 | select * from users where json_length(address) = 2; |
1、函数查询:JSON_CONTAINS(json字段,JSON_OBJECT('json数组属性', '内容'))
1 | select * from users where JSON_CONTAINS(address,JSON_OBJECT( 'tags' , '家' )); |
1 | select * from users where address-> '$[*].city' is not null ; |
1 | select * from users where address-> '$.tags' is not null ; |
到此这篇关于关于Mysql中json数据类型的查询操作指南的文章就介绍到这了
2023-10-29
Mysql 5.6使用配置文件my.ini来设置长时间连接数据库的问题2023-10-29
将MySQL数据导出为sql文件的最佳实践2023-10-29
MySQL中常用查看锁和事务的SQL语句详解访问方法的概念设计MySQL的大叔把MySQL执行查询语句的方式称为访问方法(access method)或者访问类型。同一个查询语句可以使用多种不同的访问方法来执行,虽然最后的查询结果都...
2023-10-29