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

视频类网站模板定制网站建设

视频类网站模板,定制网站建设,买国外的东西在哪个平台,网站设计的技术方案💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

  • 深入解析 SQL 更新操作:从基础语法到最佳实践
    • 一、UPDATE 语句基础解析
    • 二、表别名与列引用
    • 三、SET 子句详解
    • 四、FROM 子句与多表更新
    • 五、WHERE 条件深度分析

深入解析 SQL 更新操作:从基础语法到最佳实践

SQL(结构化查询语言)是数据库管理的核心工具,而 UPDATE 语句作为其中最常用的操作之一,在数据维护和业务逻辑实现中扮演着关键角色。
在这里插入图片描述

一、UPDATE 语句基础解析

我们首先来看这个示例 SQL 语句:

UPDATE table_01 dst
SET tenant_id   = src."tenantId", "updatedAt" = CURRENT_TIMESTAMP(3)
FROM table_02 src
WHERE dst.user_id IS NOT NULLAND dst.user_id = src.uidAND dst.tenant_id IS DISTINCT FROM src."tenantId";

这是一个典型的基于多表关联的更新操作,主要功能是将 table_01 中的 tenant_id 字段更新为 table_02 中对应记录的"tenantId"值,同时更新修改时间戳。

UPDATE 语句的基本结构包含以下几个关键部分:

  1. 目标表指定(table_01 dst)
  2. SET 子句定义要更新的列和新值
  3. FROM 子句指定数据来源表
  4. WHERE 子句定义更新条件

这种形式的 UPDATE 语句在 PostgreSQL、SQL Server 等数据库中常见,但在 MySQL 中语法略有不同,通常使用 JOIN 替代 FROM。

二、表别名与列引用

示例中使用了表别名(dst 和 src),这是 SQL 中提高可读性的重要技巧。通过为表指定简短的别名,可以简化列引用并减少语句长度。例如:

dst.user_id比完整的table_01.user_id更加简洁明了。

值得注意的是,示例中出现了两种不同风格的列名引用:

  • 不加引号的常规标识符(tenant_id, user_id)
  • 加引号的特殊标识符(“tenantId”, “updatedAt”)

这种差异通常反映了底层数据库设计中的命名规范不一致问题。在 SQL 标准中,不加引号的标识符通常不区分大小写,而加引号的标识符则保留原始大小写。在实际项目中,建议统一命名风格以避免混淆。

三、SET 子句详解

SET 子句定义了要更新的列及其新值。本例中有两个更新操作:

  1. tenant_id = src."tenantId":将目标表的 tenant_id 设置为源表的 tenantId 值
  2. "updatedAt" = CURRENT_TIMESTAMP(3):将 updatedAt 字段设置为当前时间,精确到毫秒(3 位小数)

CURRENT_TIMESTAMP 函数在不同数据库中的实现略有差异:

  • PostgreSQL 和 Oracle 支持精度参数(如(3)表示毫秒)
  • MySQL 也支持类似语法,但参数位置略有不同
  • SQL Server 使用 GETDATE()或 SYSDATETIME()

在实际应用中,记录数据的最后修改时间是一种常见的最佳实践,有助于数据审计和问题追踪。

四、FROM 子句与多表更新

与传统单表 UPDATE 不同,本例使用了 FROM 子句引入第二个表(table_02)作为数据来源。这种多表更新语法在以下场景特别有用:

  • 根据关联表的值更新目标表
  • 需要从多个表获取信息来决定更新值
  • 批量更新基于复杂条件的记录

在 MySQL 中,等效操作通常使用 JOIN 语法:

UPDATE table_01 dst
JOIN table_02 src ON dst.user_id = src.uid
SET dst.tenant_id = src."tenantId", dst."updatedAt" = CURRENT_TIMESTAMP(3)
WHERE dst.user_id IS NOT NULLAND dst.tenant_id IS DISTINCT FROM src."tenantId";

五、WHERE 条件深度分析

WHERE 子句是 UPDATE 语句中最关键的部分之一,它决定了哪些记录会被修改。本例中的条件包含三个部分:

  1. dst.user_id IS NOT NULL:确保只处理 user_id 不为空的记录
  2. dst.user_id = src.uid:关联条件,确保只更新匹配的记录
  3. dst.tenant_id IS DISTINCT FROM src."tenantId":确保只更新实际需要修改的记录

第三个条件特别值得关注,它使用了IS DISTINCT FROM操作符,这是一个比普通不等号(!=或<>)更安全的比较方式,因为它能正确处理 NULL 值:

  • 普通比较:NULL = NULL 结果是 NULL(不是 TRUE)
  • IS DISTINCT FROM:NULL IS DISTINCT FROM NULL 结果是 FALSE

这种写法避免了不必要的更新,提高了语句效率,是 SQL 优化的重要技巧。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

http://www.dtcms.com/a/514631.html

相关文章:

  • 网站维护需要关闭网站么学校为什么要做网站
  • 杭州亚运村建设指挥部网站电脑版4399游戏网页
  • 财经网站源码 织梦网络营销的特征包括
  • 网站开发与维护相关课程wordpress 3.9 xss
  • 谷歌网站统计单页面销售信网站赚钱系统
  • 商丘网站公司电话号码蓝屏的钙 WordPress
  • 永康网站建设的公司上海城市分站seo
  • 美食网站建设的内容分析手机怎么制作网站教程
  • 网站建设合同不给版权编程需要下载什么软件
  • 代做淘宝联盟网站南充房产网58同城
  • 网站基本建设是什么新闻稿件代发平台
  • 销售型企业网站建设应遵守的原则html诗词赏析网页制作步骤
  • 广州网站建设系统开发合肥网站到首页排名
  • 黄浦建设机械网站深圳注册公司一定要u盾吗
  • 懂的建设网站在线设计房屋布局软件
  • 谈谈网站开发流程长葛网站制作
  • html5网站开发语言的有点智慧团建官网登录网址
  • 如何在百度上做自己的网站做网站要多长时间
  • 中山网站建设网站想学企业管理课程
  • 怎样清理网站后门可以用AI做网站上的图吗
  • 为什么无法再社保网站上做减员外贸做的亚马逊网站是哪个
  • 作网站流程网络品牌公关
  • 设计网站 问题西安到北京高铁几小时
  • 梅州企业网站想创业去哪里找项目
  • 做公司的网站付的钱怎么入账二级域名分发站免费
  • 北京诚通新新建设有限公司网站怎么做存储网站
  • 找公司做网站源代码给客户吗快站科技
  • 凡科网站建设无锡网站制作优化推广公司
  • 三河网站建设-七天网络如何让百度收录我的网站
  • 有自己的域名怎么建设网站网线制作排序