当前位置: 首页 > news >正文

武威市网站建设_网站建设公司_关键词排名_seo优化

网站开发过程的分工,wordpress微信 缩略图,python入门基础教程,上海网站推广方法引言 由于对mysql的函数并不了解#xff0c;之前遇到了一个场景#xff1a; mysql表中有一个字段res_content 是一个由longtext类型#xff08;可以理解为一个更长的varchar#xff09;保存的巨大的JSON对象#xff0c;但是#xff0c;由于录入的疏忽#xff0c;导致这…引言 由于对mysql的函数并不了解之前遇到了一个场景 mysql表中有一个字段res_content 是一个由longtext类型可以理解为一个更长的varchar保存的巨大的JSON对象但是由于录入的疏忽导致这个json对象中的有一个属性值错误需要重新修改这个json对象的属性值于是我将整个json对象也就是res_content字段重新替换了一遍。。 |||  一个json中小小的属性需要更新却要替换整个json对象仅仅因为它在数据库中是以一个字段存储的这也太傻吊了 这样做虽然简单粗暴但很明显不符合我追求完美的性格既然只有一个属性出错那为什么不能直接替换这个JSON中具体的属性呢而且这样的解决办法如果处理上千万条JSON还可以减小mysql的性能开销岂不美哉 当时并没有及时想到mysql函数实际上mysql现在已经支持了大量的JSON字符串的操作函数可以支持基本的需求。这也是我偶然间浏览我的关注里面的博文一个大神提供给我的思路《mysql替换某字段中的部分值》所以非常感谢这位博主。 不过这个博主的文章只是替换已知字符串的值比如 http 改成 https但对于json字符串我们要想替换key所对应的value就涉及到两步查询和替换很明显他这篇博客并不符合我的需求不过确实给我提供了一个查阅mysql函数的思路。下面就来简单说说MySQL中用于替换JSON属性值的这个函数JSON_REPLACE(json_doc, path, val[, path, val] ...)。 官方描述 JSON_REPLACE() 官方的第一句解释是Replaces existing values in a JSON document and returns the result。就冲这句话基本可以锁定它就是我要找的解决方案。我们来看一下官方的示例 mysql SET j { a: 1, b: [2, 3]}; mysql SELECT JSON_REPLACE(j, $.a, 10, $.c, [true, false]); ----------------------------------------------------- | JSON_REPLACE(j, $.a, 10, $.c, [true, false]) | ----------------------------------------------------- | {a: 10, b: [2, 3]} | ----------------------------------------------------- 上面的例子很好理解首先它定义了一个JSON字符串变量然后通过JSON_REPLACE函数将这个变量中的属性a的值由1 改为了10然后将属性c的值改为了‘[true, false]’但由于json字符串中并没有属性 c 因此只有属性 a 修改成功了。这里需要注意mysql函数仅仅是做数据转换并不涉及到真正的增删改查因此还需要配合具体的UPDATE才能够真正更新数据 看过这个例子之后我思考了一下我的应用场景只需要在更新的sql语句中调用JSON_REPLACE函数将json对象所对应的字段比作上面的JSON字符串变量然后通过 ‘$xxx’ 匹配到我所希望修改的值然后就可以成功修改JSON对象中的属性了。 验证测试 现在我有一张employee表它的last_name字段是一个简单的JSON字符串 现在我希望修改emp_id 1的记录将这条记录中last_name中的name改成“Harry”gender改成 “女”。于是我执行了下面的SQL UPDATE employee SET last_name json_replace(last_name, $.name, Harry, $.gender, 女) WHERE emp_id 1; 这里注意我特意将 $.gender 写为双引号目的就是为了测试这样的通配是否可以生效执行成功后查询结果如下 可以看到last_name字段中的name属性已经修改成Harrygender也被修改成了“女”因此通配符 用双引、单引都是可以的。 除了JSON_REPLACE()函数还有很多其他的json函数如JSON_REMOVE()等具体函数用法可以查看官方文档 https://dev.mysql.com/doc/refman/5.7/en/json-functions.html 里面还贴心的将用法进行了归类 但是这些函数应该都对mysql数据库的版本比较敏感一般对MySQL5.7以上的版本支持比较理想个别函数可能需要5.7.8以上我的数据库是5.7.23因此JSON_REPLACE()用着还可以如果你的版本在5.7以下就得好好看看是否支持这些函数了。 简单查看MySQL数据库的版本SELECT VERSION(); 综上就是关于如何修改JSON字符串中属性值的函数JSON_REPLACE()的简单介绍欢迎文末留言。
http://www.ihoyoo.com/news/86380.html

相关文章:

  • 汽车可以做哪些广告视频网站有哪些cdr做网站分辨率
  • 深圳企业网站制作流程网站开发源代码什么意思
  • 数码类网站名称建宣传网站
  • 关键词挖掘查询工具爱站网叮当快药网上商城
  • 单位网站中文域名到期续费榆林做网站公司
  • 厦门网站建设哪好怎么做黑客攻击网站
  • 女人做春梦视频网站中国建设银行网站显示未签约
  • 网络公司排名图肇庆企业网站关键词优化教程
  • 网站如何做访客统计保定seo排名公司
  • 网站改版后seo该怎么做网站制作维护价格
  • 做网站网页版和手机版网站建设描述书
  • 电脑做视频的网站互联网广告推广
  • 四川纵川建设机械有限公司网站jsp网站开发学习心得
  • 如何在社交网站上做视频推广做一借款撮合网站
  • 响应式网站是啥意思哈尔滨网站建设吕新松
  • 男和女做暖暖网站阿里云网站搭建教程
  • 计算机有网站建设专业吗wordpress 备案信息
  • 电子商务网站保密协议虚拟主机加RDS安装wordpress
  • 电商网站100排行榜企业网站的制作用到的技术
  • 怎么用虚拟机做网站邮箱如何注册企业邮箱
  • 网站建设 服务条款网站建设与管理实训总结
  • 网站后台改前台不变网站建设应该应聘什么岗位
  • cp网站开发是什么搭建平台的同义词
  • 网站内容保护网站建设的网络技术
  • 湖北企业建站系统信息小型企业网站设计与制作
  • 私人可注册网站吗dw个人网页制作素材
  • 做金属小飞机的网站怎么用phpcmf做网站
  • 网站建设费一般是什么费用wordpress 自定义主页
  • 陕西省建设工程质量安全监督总站网站手机图标 wordpress
  • 韶关网站建设价格企业管理模块