MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据。
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关系
千家信息网最后更新 2025年02月02日MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据。
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: 0mysql> 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: 0mysql> 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: 0mysql> 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)
数据
格式
支持
数据库
动态
一身
传统
使用说明
文档
结构
语法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
本溪网络安全培训
设备与服务器通信是什么技术
参观郑州网络安全科技馆
软件开发服务研发服务
黄浦区特定网络技术转让哪里好
jsp查询数据库并循环输出
net项目配置本地数据库
aql数据库配置
软件开发Java方向就业
数据库型业务
歙县王峰网络技术服务部
计算机网络安全课堂小结
数据库管理系统怎么设置
白盾网络安全
软件开发教父模式
江苏拓鑫网络技术有限公司招聘
plsql连接多个数据库
市国土局网络安全管理制度
网络安全属于什么工程师
js 检测数据库
北京网络安全技能竞赛
崂山区游戏软件开发公司
网络安全法自哪一日起
社区版国产数据库
外购名单数据库服务提供商
网页服务器开放时间
讲故事的软件开发
中国人民大学网络安全与执法
湖南ntp时钟服务器云主机
1g内存服务器