在mysql5.7+上面,增加了json类型
1、在MySQL数据库中创建字段
字段的类型为json 插入数据样式如下即可:
{"data_manage": {"data_sum": 0, "data_detail": 0}, "product_manage": {"boss": 0, "insurance": 0}}
{"data_manage": 0, "user_manage": 0, "order_manage": 0, "smart_manage": 0, "course_manage": 0, "product_manage": 0, "insurance_manage": 0}
2、为创建的字段添加数据
# 更形json数据 只替换已存在的值
update admin set json_module=json_replace(json_module,'$.data_manage', 1, '$.product_manage', 0) where id=5;
# 插入新值 不会覆盖已存在的值
update admin set json_module=json_insert(json_module,'$.product_manage',1) where id=1;
# 插入新值,并覆盖已存在的值
update admin set json_module=json_set(json_module,'$.product_manage',1) where id=5;
# 插入json数据
insert into admin(username,phone,json_module) values('xiaoming','{"product_manage":0,"data_manage":0}');
3、查询使用字段,这种多用于状态码等
json
# 查询json数据
select username,json_module->'$.product_manage' from admin where id=5; # 方式一
# 数据: {"product_manage":0,"boss":0} return : 0
# 方式二
select username,json_unquote(json_module->'$.product_manage') from admin where id=5;
# 数据: {"product_manage":0,"boss":0} return : 0
select username,json_module->'$.data_manage' from admin where id=5;
# 如果存在层叠数据 方式三
select username,json_module->'$.product_manage.boss')from admin where id=1;
# 数据: {"product_manage":{"boss":0}} return: 0