最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MariaDB10.0.X中,动态列支持JSON格式来获取数据。

来源:懂视网 责编:小采 时间:2020-11-09 16:14:24
文档

MariaDB10.0.X中,动态列支持JSON格式来获取数据。

MariaDB10.0.X中,动态列支持JSON格式来获取数据。:MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式, 即关系型数据库和文档型NoSQL数据库集于一身 。 使用说明: ###表结构 createtableasse
推荐度:
导读MariaDB10.0.X中,动态列支持JSON格式来获取数据。:MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式, 即关系型数据库和文档型NoSQL数据库集于一身 。 使用说明: ###表结构 createtableasse

MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式, 即关系型数据库和文档型NoSQL数据库集于一身 。 使用说明: ###表结构 createtableassets(item_namevarchar(32

MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。


为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关系型数据库和文档型NoSQL数据库集于一身。


使用说明:

###表结构

create table assets (
 item_name varchar(32) primary key, -- A common attribute for all items
 dynamic_cols blob -- Dynamic columns will be stored here
);


###插入JSON格式数据

mysql> INSERT INTO assets VALUES 
 -> ('MariaDB T-shirt', COLUMN_CREATE('color', 'blue', 'size', 'XL'));
Query OK, 1 row affected (0.02 sec)

mysql> INSERT INTO assets VALUES
 -> ('Thinkpad Laptop', COLUMN_CREATE('color', 'black', 'price', 500));
Query OK, 1 row affected (0.01 sec)


###获取Key(键)color的Value(值):

mysql> SELECT item_name, COLUMN_GET(dynamic_cols, 'color' as char) AS color FROM assets;
+-----------------+-------+
| item_name | color |
+-----------------+-------+
| MariaDB T-shirt | blue |
| Thinkpad Laptop | black |
+-----------------+-------+
2 rows in set (0.00 sec)


###获取全部Key(键)

mysql> SELECT item_name, column_list(dynamic_cols) FROM assets;
+-----------------+---------------------------+
| item_name | column_list(dynamic_cols) |
+-----------------+---------------------------+
| MariaDB T-shirt | `size`,`color` |
| Thinkpad Laptop | `color`,`price` |
+-----------------+---------------------------+
2 rows in set (0.00 sec)


###获取全部Key-Value

mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets;
+-----------------+-------------------------------+
| item_name | COLUMN_JSON(dynamic_cols) |
+-----------------+-------------------------------+
| MariaDB T-shirt | {"size":"XL","color":"blue"} |
| Thinkpad Laptop | {"color":"black","price":500} |
+-----------------+-------------------------------+
2 rows in set (0.01 sec)


###删除一个Key-Value:

mysql> UPDATE assets SET dynamic_cols=COLUMN_DELETE(dynamic_cols, "price") 
 -> WHERE COLUMN_GET(dynamic_cols, 'color' as char)='black';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets;
+-----------------+------------------------------+
| item_name | COLUMN_JSON(dynamic_cols) |
+-----------------+------------------------------+
| MariaDB T-shirt | {"size":"XL","color":"blue"} |
| Thinkpad Laptop | {"color":"black"} |
+-----------------+------------------------------+
2 rows in set (0.00 sec)


###增加一个Key-Value:

mysql> UPDATE assets SET dynamic_cols=COLUMN_ADD(dynamic_cols, 'warranty', '3 years')
 -> WHERE item_name='Thinkpad Laptop';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets; 
+-----------------+----------------------------------------+
| item_name | COLUMN_JSON(dynamic_cols) |
+-----------------+----------------------------------------+
| MariaDB T-shirt | {"size":"XL","color":"blue"} |
| Thinkpad Laptop | {"color":"black","warranty":"3 years"} |
+-----------------+----------------------------------------+
2 rows in set (0.00 sec)


###更改一个Key-Value:

mysql> UPDATE assets SET 
dynamic_cols=COLUMN_ADD(dynamic_cols,'color', 'white') WHERE 
COLUMN_GET(dynamic_cols, 'color' as char)='black';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets;
+-----------------+----------------------------------------+
| item_name | COLUMN_JSON(dynamic_cols) |
+-----------------+----------------------------------------+
| MariaDB T-shirt | {"size":"XL","color":"blue"} |
| Thinkpad Laptop | {"color":"white","warranty":"3 years"} |
+-----------------+----------------------------------------+
2 rows in set (0.00 sec)

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MariaDB10.0.X中,动态列支持JSON格式来获取数据。

MariaDB10.0.X中,动态列支持JSON格式来获取数据。:MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式, 即关系型数据库和文档型NoSQL数据库集于一身 。 使用说明: ###表结构 createtableasse
推荐度:
标签: 格式 获取 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top