博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL查询字段类型为json的数据
阅读量:5093 次
发布时间:2019-06-13

本文共 1296 字,大约阅读时间需要 4 分钟。

测试表如下:

/* Navicat Premium Data Transfer Source Server         :  Source Server Type    : MySQL Source Server Version : 50717 Source Host           : localhost:3306 Source Schema         : ceshi Target Server Type    : MySQL Target Server Version : 50717 File Encoding         : 65001 Date: 19/07/2019 15:08:52*/SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for infojson-- ----------------------------DROP TABLE IF EXISTS `infojson`;CREATE TABLE `infojson`  (  `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `info` json NULL,  PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of infojson-- ----------------------------INSERT INTO `infojson` VALUES ('1', '{\"sex\": \"male\", \"username\": \"wangermazi\"}');SET FOREIGN_KEY_CHECKS = 1;
  • 获取infojson表中username的值,查询方法有:
select infojson.id, json_extract(infojson.info, '$.username') as username from infojson;

结果如下:

id   username    1   "wangermazi"
  • 以上这条sql查出的username的值是带有双引号的,但是有时我们不需要双引号,此时就需要用到下面这种方式:
select infojson.id, infojson.info ->> '$.username' as username from infojson;

结果如下:

id   username    1   wangermazi

转载于:https://www.cnblogs.com/sirxy/p/11213584.html

你可能感兴趣的文章
理解oracle中连接和会话
查看>>
Scrapy实战篇(三)之爬取豆瓣电影短评
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Enterprise Library - Data Access Application Block 6.0.1304
查看>>
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
Linux基本操作
查看>>
osg ifc ifccolumn
查看>>
C++ STL partial_sort
查看>>
WebDriverExtensionsByC#
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
sublime 配置java运行环境
查看>>
在centos上开关tomcat
查看>>
无人值守安装linux系统
查看>>