##插入json數據相似字符串,可是會校驗json格式 json INSERT INTO `ppfdb`.`pm_user_info` (`user_id`, `uuid`, `user_gender`, `user_image_url`, `user_birthday`, `user_real_name`, `user_real_name_helper`, 數組 `user_login_name`, `user_login_password`, `pwd_reset_time`, `user_mobile`, `user_email`, `user_email_activate`, `admin_flag`, `user_id_card`, app `user_status`, `blocked_until`, `user_remark`, `registration_ip`, `last_login_ip`, `last_login_time`, `last_client_type`, `add_by`, `add_name`, ui `add_time`, `last_edit_by`, `last_edit_name`, `last_edit_time`, `del_flag`, `custom_data`) url VALUES ( null , '2133ewdqawer' , '2' , NULL , '2017-07-21' , '小麥' , 'xm' , 'xiaomai5' , '121212' , NULL , '18698563618' , NULL , b '0' , b '0' , NULL , b '0' , NULL , NULL , NULL, spa NULL , NULL , NULL , '0' , 'SYS' , '2017-07-21 09:03:31' , NULL , NULL , NULL , b '0' , '{"color":"red"}'); code ##"material": ip select custom_data from pm_user_info; ci ##獲取json字段全部key值 rem select user_id, user_login_name, json_keys(custom_data) as 'keys' from pm_user_info; ##根據key獲取值,json_extract別名爲-> select user_id, user_login_name, json_extract(custom_data, '$.add_by' ) as 'value' from pm_user_info; select user_id, user_login_name, custom_data->> '$.add_by' as 'value' from pm_user_info; select user_id, user_login_name, custom_data-> '$.add_by' as 'value' from pm_user_info; ##根據key刪除值 update pm_user_info set custom_data = json_remove(custom_data, '$.color'); ##是否包含鍵或值 select user_id, user_login_name, json_contains_path(custom_data, 'all' , '$.material' , '$.test') from pm_user_info;##判斷是否包含全部鍵 select user_id, user_login_name, json_contains(custom_data, '"Fi"' , '$.material' ) from pm_user_info where json_contains(custom_data, '"Fi"' , '$.material') = 1;##判斷是否包含指定值 ##根據json值做爲條件進行查詢 select user_id, user_login_name, json_extract(custom_data, '$.material' ) as material from pm_user_info where custom_data-> '$.material' = 'Fi' order by custom_data-> '$.material'; ##在json字段內添加或修改值 update pm_user_info set custom_data=json_set(custom_data, '$.add_by' , 'hxm'); update pm_user_info set custom_data=json_set(custom_data, '$.diameter' ,custom_data-> '$.diameter' + 1); update pm_user_info set custom_data = '{"color":"red"}' where user_id = 1; ##以數組形式拼接一個值 update pm_user_info set custom_data=json_array_append(custom_data, '$.diameter',123); |