MySQL更新数据(七)中

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: MySQL更新数据(七)

三. 更新一条记录的多个字段值


上面举例的都是只更新一个字段的, 这儿可以更新多个字段。


其中,更新多个字段 与更新一个字段基本相同,就是 n*一个字段。 每个字段也都有 更新成一个全新的值,更新成一个与原来的值有关联的值 两种情况,也都有主键 和约束等问题。


要保证 每一个字段都能够单独更新成功,这样多个字段才能更新成功。


如, 更新id=6 的 姓名,年龄和描述。


  update user set name='岳泽霖',age=24,description='一个快乐的程序员' where id=6;


20191120161040827.png


如果更新的是部分一致,部分不一致, 如 name与原先的相同,age不与原先的相同,同样也是会更新这条数据的。 只要不全都一样就行。

全都一样的话,是不会更新的。


四. 更新多条记录


更新多条记录,是将这一批次的或者说符合筛选条件的记录,按照统一的修改方式进行修改。


常见的有两种形式:


1 .有筛选条件的, 但筛选条件有多条。


2 . 无筛选条件,整个数据表所有记录更新。


四.一 有筛选条件更新


如 将 id>3 的记录, 姓名全部改成 岳泽霖, 年龄全部改为 24岁。


  update user set name='岳泽霖',age=24 where id>3;


2019112016105093.png


由于有一条记录 id=6 的名称和年龄一样, 所以没有改变。


Rows matched: 3 Changed: 2 Warnings: 0


四.二 无筛选条件,整个数据表更新 (不建议这么更新)


将所有的记录 的姓名都改成 老蝴蝶,年龄改成25 岁。


  update user set name='老蝴蝶',age=25;


20191120161057675.png


这种情况,是很不好的,所以在更新时,一定要带上条件。 即使是 全部更新,也最好是 where 1=1 .


五. 联表时选择更新


上面的更新,都是单个表进行更新。 其实,在更新时,也可以进行连表进行更新。 但不常用。


命令:


  update 表A inner[left,right] join 表B [on 条件] set 表A列1=属性值1,表A列2=属性值2;


用上一章节 的 dept 表和 u 表 。 再多添加几条数据。


2019112016110856.png


需求:(当然,这个例子老蝴蝶举得不恰当) 更新user表,令部门为 信息管理部的 员工 的姓名修改成 ‘新员工入职’


  update u inner join dept on u.deptId=dept.id and dept.id=1 set u.name='新员工入职';


20191120161115557.png


发现,可以正常的进行修改。 将部门编号为1的 员工进行联表修改了。


但一般不这么用。


直接 用


  update u set name='新员工入职' where id=1;


不正好吗?


所以,一般 联表更新不常用。



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
canal 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在进行整库同步MySQL数据到StarRocks时,遇到全量数据可以同步,但增量数据无法同步,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用问题之如何查看数据离线同步每天从MySQL抽取的数据量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
Java 关系型数据库 MySQL
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
12 4
|
6天前
|
SQL 缓存 关系型数据库
|
2天前
|
关系型数据库 MySQL 数据库
MySQL数据库开发之多表查询数据准备及案例实操
MySQL数据库开发之多表查询数据准备及案例实操
11 1
|
5天前
|
存储 关系型数据库 MySQL
关系型数据库mysql数据文件存储
【6月更文挑战第15天】
15 4
|
5天前
|
canal 关系型数据库 MySQL
蓝易云 - 详解canal同步MySQL增量数据到ES
以上就是使用Canal同步MySQL增量数据到Elasticsearch的基本步骤。在实际操作中,可能还需要根据具体的业务需求和环境进行一些额外的配置和优化。
25 2
|
9天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之同步MySQL数据并EP(复杂事件处理)时,编译报错,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
10天前
|
JSON 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在使用CDAS语法同步MySQL数据到Hologres时,如果开启了字段类型宽容模式,MySQL中的JSON类型会被转换为什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10天前
|
关系型数据库 MySQL Java
实时计算 Flink版产品使用问题之如何提高Flink从MySQL读取数据的速度并减少延迟
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。