Mysql5.7中关于JSON函数操作的实例详解


本文摘自PHP中文网,作者黄舟,侵删。

本文给大家分享的是在mysql5.7中操作json的函数的使用方法以及相关示例,非常的实用,有需要的小伙伴可以参考下

前言

JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写。对机器来说易于解析和生成,并且会减少网络带宽的传输。

JSON的格式非常简单: 名称/键值 。之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本。 MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析。

下面一起来实际操作一下。

创建带有 JSON 字段的表

比如一个‘文章'表,字段包括

id、标题 title、标签 tags

一篇文章会有多个标签,tags 就可以设为 JSON 类型

建表语句如下:


1

2

3

4

5

6

CREATE TABLE article` (

 id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,

title` varchar (200) NOT NULL ,

 tags` json DEFAULT NULL ,

PRIMARY KEY (`id`)

) ENGINE=InnoDB;

插入数据

插入一条带有 JSON 内容的数据,执行 insert 语句:


1

2

3

4

5

INSERT INTO article` (`title`, `tags`)

VALUES (

'体验 Mysql JSON' ,

'["Mysql", "Database"]'

);

这里插入的是一个 JOSN 数组 [“Mysql”, “Database”]

查询 article 表中的所有内容,可以看到新插入的这条数据

查询

使用 JSON 函数做两个简单的查询

1.查找带有标签”Mysql”的所有文章


1

2

SELECT * FROM article`

WHERE JSON_CONTAINS(tags, '["Mysql"]' );

2.查找标签中以”Data”开头的文章


1

2

SELECT * FROM article`

WHERE JSON_SEARCH(tags, 'one' , 'Data%' ) IS NOT NULL ;

JSON_SEARCH 函数中3个参数的含义:

1.要查找的文档

2.查找的范围,有两个选项,'one' 查找第一个符合条件的,'all'查找所有符合条件的

3.查找的条件

JSON Path

JSON Path用来定位文档中的目标字段,例如


1

2

3

4

SELECT JSON_EXTRACT(

'{"id": 1, "name": "mysql"}' ,

'$.name'

);

结果为:mysql

阅读剩余部分

相关阅读 >>

mac系统下mysql下载mysql5.7及安装图解

windows10安装mysql5.7及忘记root密码修改方法

centos7安装和配置mysql5.7的方法分享

mysql5.7 报错1055怎么办

手把手教你在mysql5.7中搭建主从复制

mysql5.7如何实现双主同步部分表的过程介绍

json是什么

php中json数据如何存储到mysql?

实例详解mysql5.7中 performance和sys schema中的监控参数

redhat6.5怎么安装mysql?

更多相关阅读请进入《javascript》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...