mysql-笔记 json
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的更多相关文章
- MYSQL转换JSON
http://51strive.com/ <!DOCTYPE html><html><head><meta charset="UTF-8" ...
- MySQL笔记汇总
[目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...
- [转]MySQL常用Json函数和MySQL常用字符串函数
MySQL常用Json函数:https://www.cnblogs.com/waterystone/p/5626098.html MySQL常用字符串函数:https://www.cnblogs.co ...
- 涂抹mysql笔记-数据库中的权限体系
涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password. ...
- centos7.2下安装Mysql笔记
centos7.2下安装Mysql笔记 安装 MySQL 适用于 CentOS 7.0 或以后版本: yum install mariadb mariadb-server 适用于 CentOS 6.8 ...
- MySQL笔记(六)游标练习
23.3.1 Trigger Syntax and Examples 意义不明的几道练习,留着备用. 感觉不好写,而且难以调试..不知道以后会不会有实际的应用场景. 环境:MySQL 笔记(三)由 t ...
- mysql 笔记(一)
mysql 笔记 预留 mysql> use mysql; mysql> grant all privileges on *.* to root@'%' identified by &q ...
- 【MySQL笔记】SQL语言四大类语言
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句, ...
- JAVASCRIPT高程笔记-------JSON与AJAX
json对象——语法 简单值:与JS相同语法,可以是字符串,数值,布尔值,null:但不支持undefined 对象: 复杂数据类型,表示一组有序的键值对,键值对的值可以是简单数据,也可以是复杂数据 ...
- Mysql 笔记二
Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup ...
随机推荐
- Java开发笔记(二十二)神奇的冒号
Java中的标点符号主要有两类用途,一类是运算符,包括加号+.减号-.乘号*.除号/.取余号%.等号=.大于号>.小于号<.与号&.或号|.非号!.异或号^等等,另一类则是分隔符, ...
- 使用Jenkins自动发布Windows服务项目
不同于发布Web项目,自动发布Windows服务项目需要解决以下几个问题: 如何远程停止和开启服务?需要在发布前停止服务,在发布完成后开启服务. 如何上传编译文件到目标服务器? 问题1:如何远程停止和 ...
- BZOJ3122: [Sdoi2013]随机数生成器(BSGS)
题意 题目链接 Sol 这题也比较休闲. 直接把\(X_{i+1} = (aX_i + b) \pmod P\)展开,推到最后会得到这么个玩意儿 \[ a^{i-1} (x_1 + \frac{b}{ ...
- arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- 支持scrollTo的RecycleView
RecycleView内部没有帮我们实现ScrollTo的方法,不过帮我们实现了ScrollBy,我们可以通过ScrollBy自定义一个支持scrollTo的RecycleView. public c ...
- Android为TV端助力 ViewTreeObserver(转载)
Android ViewTreeObserver简介 一.结构 public final class ViewTreeObserver extends Object java.lang.Objec ...
- SQL Server 数据库部分常用语句小结(二)
9. 查询备份还原数据库的进度. select command ,percent_complete ,est_time_to_go=convert(varchar,(estimated_complet ...
- SQL学习笔记---常用命令
常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...
- CSS优先级的及其衡量标准CSS权重
一.背景 CSS有三大特性:层叠性.继承性.优先级. 而我们在给CSS定义样式的时候,经常出现两个及以上的规则应用在同一元素上,单该元素最终在浏览器呈现的效果是应用的哪个规则呢?这就要考虑优先级的问题 ...
- CSS盒子模型(Box Model)
一.背景 作为CSS的重点,三大模块之一的盒子模型,这部分无论如何也要精通透彻.在任何一个网页当中,都有自己的布局方式,所谓网页布局方式就是如何把网页里面的文字.图片,很好的排版成美工设计的样式,这时 ...