MySQL UPDATE 更新

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【1月更文挑战第3天】MySQL 使用讲解 第03期

昨天介绍了 MySQL 数据库 WHERE 子句的用法,今天来讲解下UPDATE 更新。

语法

在 MySQL 使用过程中,我们经常需要修改数据,这时就要用到UPDATE 命令。

老规矩,先介绍一下语法。以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

参数说明

  • table_name 是你要更新数据的表的名称。
  • column1, column2, ... 是你要更新的列的名称。
  • value1, value2, ... 是新的值,用于替换旧的值。
  • WHERE condition 是一个可选的子句,用于指定更新的行。如果省略 WHERE 子句,将更新表中的所有行。

更多说明

  • 你可以同时更新一个或多个字段。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在一个单独表中同时更新数据。

参数介绍完成,接下来通过一些实例来详细介绍下该如何使用。

实例01

-- 2024.01.18 修改留言表
UPDATE nm_leaving_message_list SET remarks = '向未来' WHERE id = '10000004';

-- 解释:更新单个列的值(将ID等于“10000004”的数据【备注】列的值改为“向未来”)。

在这里插入图片描述

实例02

-- 2024.01.18 修改留言表
UPDATE nm_leaving_message_list SET modify_code = '10002',modify_name = '管理员' WHERE id = '10000005';

-- 解释:更新多个列的值(将ID等于“10000005”的数据【修改人员账号】列的值改为“10002”,【修改人员姓名】列的值改为“管理员”)。

在这里插入图片描述

实例03

-- 2024.01.18 修改菜单表
UPDATE nm_menu SET sort = sort * 10000 WHERE menu_state = 'true';

-- 解释:使用表达式更新值(将菜单状态为“true”的数据【排序号】列的值改为原来的10000倍)。

在这里插入图片描述

实例04

-- 2024.01.18 修改留言表
UPDATE nm_leaving_message_list SET leaving_message_state = 'false';

-- 解释:更新符合条件的所有行(将所有留言【状态】列的值改为“false”)。

在这里插入图片描述

实例05

-- 2024.01.18 修改学生表
UPDATE sm_students a SET a.total_score = (SELECT SUM(fraction) FROM sm_fraction b WHERE b.student_id = a.student_id) WHERE a.student_id = '151203419';

-- 解释:更新使用子查询的值(将学号为“151203419”的学生的各科成绩更新到他的“总分”里)。

在这里插入图片描述
在这里插入图片描述

实例06

-- 2024.01.18 修改分数表
UPDATE sm_fraction a,sm_students b SET a.fraction = b.yuwen WHERE a.student_id = b.student_id AND a.subject = '语文';
UPDATE sm_fraction a,sm_students b SET a.fraction = b.shuxue WHERE a.student_id = b.student_id AND a.subject = '数学';
UPDATE sm_fraction a,sm_students b SET a.fraction = b.yingyu WHERE a.student_id = b.student_id AND a.subject = '英语';
UPDATE sm_fraction a,sm_students b SET a.fraction = b.wuli WHERE a.student_id = b.student_id AND a.subject = '物理';
UPDATE sm_fraction a,sm_students b SET a.fraction = b.huaxue WHERE a.student_id = b.student_id AND a.subject = '化学';
UPDATE sm_fraction a,sm_students b SET a.fraction = b.shengwu WHERE a.student_id = b.student_id AND a.subject = '生物';

-- 解释:用横表的值更新纵表(将学生的各科成绩更新到分数表里)。

在这里插入图片描述
在这里插入图片描述

注意: 在使用 UPDATE 语句时,请确保你提供了足够的条件来确保只有你想要更新的行被修改。如果不提供 WHERE 子句,将更新表中的所有行,可能导致不可预测的结果。

以上内容即为 MySQL 数据库使用 UPDATE 更新数据的简单讲解,下期再见。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
MySQL UPDATE 更新
MySQL UPDATE 更新
|
SQL 关系型数据库 MySQL
总结vue3 的一些知识点:MySQL UPDATE 更新
总结vue3 的一些知识点:MySQL UPDATE 更新
|
SQL Oracle 关系型数据库
【MySQL异常】1093 - You can‘t specify target table ‘daily_job‘ for update in FROM clause
【MySQL异常】1093 - You can‘t specify target table ‘daily_job‘ for update in FROM clause
245 0
|
7月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
119 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
644 0
|
4月前
|
存储 SQL 关系型数据库
MySQL中的update操作与锁机制
本文探讨MySQL中`UPDATE`操作的自动加锁机制及其对数据一致性的保障作用。尤其在InnoDB存储引擎下,系统会在涉及索引的更新操作中加行锁或间隙锁,防止多事务并发修改同一条记录。通过福利码兑换系统的实例展示,当线程A开启事务更新库存时,线程B试图更新相同记录会被阻塞,直至线程A提交。此外,文章还介绍了乐观锁及版本号控制等策略进一步提升并发性能的方法。作者:小明爱吃火锅,来源:稀土掘金。
234 2
|
5月前
|
负载均衡 关系型数据库 MySQL
MySQL PXC集群多个节点同时大量并发update同一行
如本文标题,MySQL PXC集群多个节点同时大量并发update同一行数据,会怎样? 为此,本人做了一个测试,来验证到底会怎样!
56 0
|
6月前
|
供应链 关系型数据库 MySQL
MySQL的`FOR UPDATE`详解
MySQL的`FOR UPDATE`详解
213 0
|
7月前
|
SQL 存储 关系型数据库
深入理解MySQL中的UPDATE JOIN语句
MySQL的UPDATE JOIN语句用于根据关联表的条件更新数据。示例中,历史记录表有用户账号字段,新增列用于存储用户名。通过UPDATE JOIN,一次性将账号转换为用户名。关键点包括准确的连接条件、谨慎使用WHERE子句以及在更新前进行测试。此操作提高了数据处理效率,但也需小心操作以防止数据错误。
246 4
深入理解MySQL中的UPDATE JOIN语句
|
6月前
|
关系型数据库 MySQL 数据库
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
132 0