1 JSON 列不能有non-NULL 默认值

2 JSON值:数组:["abc",10,null,true,false] 可嵌套

对象:{"k1":"value","k2":10}可嵌套

值:可以是字符串、数字、null /布尔 、时间 ,

关键字 :必须是字符串

3 可以使用cast(value as json) 转化其他类型到json类型

4 插入一个json列,如果是有效的json值可以插入数据,如果不是则出错

create table testjson(jdoc JSON);

insert into testjson values('{"k1":"v1","k2":"v2"}');

5 JSON_TYPE(json_doc) 接收json参数并转为json值,如果有效则返回json类型,否则报错

select JSON_TYPE('["a","b",1]');

6 json_array() 接收一个列表可以是空 转为包括这样值的json数组

select json_array('a',1,now());

select json_object('k1':1,'k2':'abc')

7 JSON_MERGE() 合并多个json----其中有一个为数组时合并为一个数组,都为对象时合并为一个对象

select json_merge('["a",1]','{'key":"value"}'); 合并为一个数组

8 赋值给变量:set @j=json_object('key','value'); select @j;

@j 变量不是json类型 json_object转变为字符 字符集:utf8mb4 ,排序 utf8mb4_bin

select charset(@j),collation(@j);

9 json 值做比较时区分大小写,null /true false 必须小写

select json_valid(null),json_valid(True);

如果需要输入 单引号或双引号 做为 值的一部分。需要使用 json_object()使用反斜线+' "

insert into testjson values(json_object("mascot","named \"sakila\"."));

或使用双反斜线 insert info testjson values('{"mascot":"named \\"sakila\\"."}');

或使用交替使用单双引 insert into testjson values(json_object('mascot','named "sakila".'));

select jdoc->>"$.mascot" from facts;

10 一个字符串可转化为json字符串时,重复的键只添加最初始的一个。其他的不生成json

SELECT JSON_OBJECT('key1', 1, 'key2', 'abc', 'key1', 'def');

11 合并 json_merge 如果多个对象有同一个键时,合并后对应的键生成一个数组值

select json_merge('{"a":1,"b":2}','{"c":3,"a":4}');

12 如果键包含空格 必须使用引号 引用:$."a fish"

13 使用索引$[].b[] 取值

mysql-笔记 json的更多相关文章

  1. MYSQL转换JSON

    http://51strive.com/ <!DOCTYPE html><html><head><meta charset="UTF-8" ...

  2. MySQL笔记汇总

    [目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...

  3. [转]MySQL常用Json函数和MySQL常用字符串函数

    MySQL常用Json函数:https://www.cnblogs.com/waterystone/p/5626098.html MySQL常用字符串函数:https://www.cnblogs.co ...

  4. 涂抹mysql笔记-数据库中的权限体系

    涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password. ...

  5. centos7.2下安装Mysql笔记

    centos7.2下安装Mysql笔记 安装 MySQL 适用于 CentOS 7.0 或以后版本: yum install mariadb mariadb-server 适用于 CentOS 6.8 ...

  6. MySQL笔记(六)游标练习

    23.3.1 Trigger Syntax and Examples 意义不明的几道练习,留着备用. 感觉不好写,而且难以调试..不知道以后会不会有实际的应用场景. 环境:MySQL 笔记(三)由 t ...

  7. mysql 笔记(一)

    mysql 笔记 预留 mysql> use mysql; mysql> grant all privileges  on *.* to root@'%' identified by &q ...

  8. 【MySQL笔记】SQL语言四大类语言

     SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL.   1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句, ...

  9. JAVASCRIPT高程笔记-------JSON与AJAX

    json对象——语法 简单值:与JS相同语法,可以是字符串,数值,布尔值,null:但不支持undefined 对象: 复杂数据类型,表示一组有序的键值对,键值对的值可以是简单数据,也可以是复杂数据 ...

  10. Mysql 笔记二

    Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup ...

随机推荐

  1. 在Jenkins管道中添加Webhook

    你有没有尝试过在Jenkins中添加GitHub webhook?在这篇博客中,我将演示在您的管道中添加webhook的最简单方法. 首先,什么是webhook?webhook的概念很简单.webho ...

  2. 20190321-HTML基本结构

    目录 1.HTML概念 超文本标记语言 2.HTML版本 HTML HTML5 3.HTML基本结构 基本结构 元素.标签.属性 4.HTML常用标签 内容 1.HTML概念 HTML(HyperTe ...

  3. vue HTTP 请求(vue-resource)

    来自:https://www.cnblogs.com/lhl66/p/8022423.html 侵删 //初始化页面需要做什么事情 //点击后需要做什么事情 //鼠标.键盘.冒泡.默认行为等事件 // ...

  4. 谷歌浏览器扩展程序manifest.json参数详解

    { // Required "manifest_version": 2, // manifest编写规范版本,目前主流2 "name": "My Ex ...

  5. 广州.NET微软技术俱乐部微信群各位技术大牛的blog

    1. .net core和微服务领域的张善友张队长和马洪喜,证明了.net core和微服务已经在各方面都不比java差2. Xamarin的卢建晖,证明了.net在移动开发领域也是很牛的.3. wi ...

  6. 牛客网:Java重命名文件

    项目介绍 不管是C/C++还是JAVA,都可能生成一些持久性数据,我们可以将数据存储在文件或数据库中,此项目主要训练学习Java对本地磁盘的文件重命名,例如C:\nowcoder.txt重命名C:\n ...

  7. Linux内存描述之内存节点node--Linux内存管理(二)

    1 内存节点node 1.1 为什么要用node来描述内存 这点前面是说的很明白了, NUMA结构下, 每个处理器CPU与一个本地内存直接相连, 而不同处理器之前则通过总线进行进一步的连接, 因此相对 ...

  8. 【iOS开发】Alamofire框架的使用一基本用法

    Alamofire框架的使用一 —— 基本用法 对于使用Objective-C的开发者,一定非常熟悉AFNetworking这个网络框架.在苹果推出的Swift之后,AFNetworking的作者专门 ...

  9. 龙尚 U9300C wvdial 拨号上网

    龙尚 U9300C    7模   4G LTE   (国内全网通) 接入linux系统会有4个串口 其中ttyUSB2 为AT指令口 ttyUSB1 为拨号上网口 wvdial   拨号入网参数 [ ...

  10. spark-2.4.0-hadoop2.7-简单操作

    1. 说明 本文基于:spark-2.4.0-hadoop2.7-高可用(HA)安装部署 2. 启动Spark Shell 在任意一台有spark的机器上执行 # --master spark://m ...