首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更新多行数据,你会怎么办?

33

-- Moses --

通常情况下,我们会使用以下的方式来更新数据,假如我更新一个产品名称

左右滑动查看全部

但是,这样的语句能满足我们的需求很局限,每次只能执行一次,比如,我更新多次呢?

有人可能会想到用循环来解决

左右滑动查看全部

但是这样只是多次执行同一条语句而已,感觉都是在做无用功,而且性能非常不好。我们能不能根据不同值,对不同记录做更新呢?

比如我传 id 是 40,产品名改为「户外广告设计制作」,传 id 为 41,产品名改为「软件实施服务」。

有些人可能会从编程语言出发,想到 switch case 语句,没错,这种分支结构能满足

非完整正确语句

左右滑动查看全部

但是这样编码就会看起来很繁杂。关键是多次向数据库服务器发起操作,性能不佳。SQL 层面有没有提供类似的分支语句呢?

答案是有的!请看如下的 SQL 语句:

这样,我们只要做一次数据库操作就可以根据不同值,对不同记录做更新,如此性能提高了,代码方面也会整洁不少!

到这里,有人可能还会有疑问,如果要更新多个不同的字段呢?咋办?

别急,请看下面的 SQL 语句

认真看,其实这语句跟 switch case 如出一辙,相信大家能悟出点什么东西来。

有人可能不明白为什么要这样做,为什么不直接在代码中用循环语句,还搞那么麻烦,其实不然,这样一来。

、能简化我们的代码,简单易懂。

、也是为什么这样做的主要原因是:在循环语句中执行了不止一次SQL 查询,在做系统优化的时候,我们要想尽办法减少与数据库交涉的次数,以减少资源占用、对文件读写。如果用以上的 SQL 语句,我们只需执行一次即可完成同样的事情,这样就可以提高系统性能,只不过 SQL 语句稍微复杂点。

至于两种哪种好,我也说不好,要综合考虑,要视实际情况而定,适合自己系统的方案才是最佳方案!

最后,旧的一年已经过去,祝我们元旦欢喜,在新的一年里做任何事都能如愿以偿,心想事成。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190101G06RNR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券