首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL UPDATE 更新

MySQL UPDATE 更新

作者头像
用户10358987
发布2024-04-23 17:57:18
发布2024-04-23 17:57:18
1.2K00
代码可运行
举报
文章被收录于专栏:javajava
运行总次数:0
代码可运行

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

语法

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

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

代码语言:javascript
代码运行次数:0
运行
复制
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
参数说明
  • table_name 是你要更新数据的表的名称。
  • column1, column2, … 是你要更新的列的名称。
  • value1, value2, … 是新的值,用于替换旧的值。
  • WHERE condition 是一个可选的子句,用于指定更新的行。如果省略 WHERE 子句,将更新表中的所有行。
更多说明
  • 你可以同时更新一个或多个字段。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在一个单独表中同时更新数据。

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

实例01

代码语言:javascript
代码运行次数:0
运行
复制
-- 2024.01.18 修改留言表
UPDATE nm_leaving_message_list SET remarks = '向未来' WHERE id = '10000004';

-- 解释:更新单个列的值(将ID等于“10000004”的数据【备注】列的值改为“向未来”)。
在这里插入图片描述
在这里插入图片描述

实例02

代码语言:javascript
代码运行次数:0
运行
复制
-- 2024.01.18 修改留言表
UPDATE nm_leaving_message_list SET modify_code = '10002',modify_name = '管理员' WHERE id = '10000005';

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

实例03

代码语言:javascript
代码运行次数:0
运行
复制
-- 2024.01.18 修改菜单表
UPDATE nm_menu SET sort = sort * 10000 WHERE menu_state = 'true';

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

实例04

代码语言:javascript
代码运行次数:0
运行
复制
-- 2024.01.18 修改留言表
UPDATE nm_leaving_message_list SET leaving_message_state = 'false';

-- 解释:更新符合条件的所有行(将所有留言【状态】列的值改为“false”)。
在这里插入图片描述
在这里插入图片描述

实例05

代码语言:javascript
代码运行次数:0
运行
复制
-- 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

代码语言:javascript
代码运行次数:0
运行
复制
-- 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 更新数据的简单讲解,下期再见。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 语法
    • 参数说明
    • 更多说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档