提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:鲍佳佳|2021-03-11 11:32:13.643|阅读 257 次
概述:大多数现代网站和应用程序都基于数据收集,存储和分析。数据库积极参与构建整个Web环境。这就是为什么确保从数据库正确检索数据和适当的数据操作方式至关重要。为了正确地修改数据,您将需要执行SQL查询。本文将重点介绍MySQL UPDATE语句及其用法。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
点击下载dbForge Studio for MySQL最新试用版
大多数现代网站和应用程序都基于数据收集,存储和分析。数据库积极参与构建整个Web环境。这就是为什么确保从数据库正确检索数据和适当的数据操作方式至关重要。为了正确地修改数据,您将需要执行SQL查询。本文将重点介绍MySQL UPDATE语句及其用法。
MySQL UPDATE语句的本质和作用
很多时候,我们需要更新MySQL中的字段并更改表中存储的数据。我们可以使用UPDATE语句来做到这一点。此命令可以修改表中的任何字段。它适用于更新单行和多行。
MySQL UPDATE语句是MySQL中最常用的命令之一。让我们看一下它的语法。
MySQL UPDATE语法
在MySQL中处理UPDATE查询时,我们通常会遇到三种特殊情况。它们是:更新一个MySQL表,用另一个MySQL表中的数据更新一个表,以及更新多个表。
表中MySQL更新行的简单简化语法模板如下:
UPDATE table SET column1 = expression1, column2 = expression2, ... [WHERE conditions];
相同情况下的完整语法模板如下:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment_list [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] value: {expr | DEFAULT} assignment: col_name = value assignment_list: assignment [, assignment] ...
应用MySQL UPDATE语句的一种特殊情况是用另一个MySQL表中的数据更新一个表中的数据:
UPDATE table1 SET column1 = (SELECT expression1 FROM table2 WHERE conditions) [WHERE conditions];
UPDATE语句非常适合多个表。在这种情况下,语法模板将进行如下修改:
UPDATE table1, table2, ... SET column1 = expression1, column2 = expression2, ... WHERE table1.column = table2.column AND conditions;
您始终需要定义要更新的表的名称。
以下元素对于MySQL更新语法是必不可少的:
注意:如果您设置的值与该列当前所设置的值相同,则MySQL UPDATE命令将检测到该值,并且不会对其进行更新。
UPDATE语句可能包含两个可选修饰符LOW_PRIORITY和IGNORE:
MySQL UPDATE语句示例
MySQL中的UPDATE查询在许多情况下很有用。让我们考虑一些将该示例应用于MySQL中的标准任务的示例。
使用UPDATE命令更新MySQL列
一个简单的基本MySQL UPDATE表示例将说明如何在MySQL中更改值。假设我们需要在数据库中更改学生的姓氏。该查询将是以下内容:
UPDATE students SET last_name = 'Williams' WHERE student_id = 384;
通过执行此代码,我们更改了Student表。我们将last_name更改为Williams并指定条件-该更改适用于为384的student_id。
应用MySQL UPDATE命令更改多列
MySQL更新多列任务也很常见。在以下情况下,我们要更改一组学生的城市值。看一下以下查询:
UPDATE students SET city = 'Birmingham', student_rep = 15 WHERE student_id > 20;
在这里,我们将在一组学生的表中获取MySQL更新数据。该命令会将其原籍城市更新为伯明翰,并将student_rep更改为15。该更改将应用于student_id大于20的那些学生。通过这种方式,使用以下命令执行MySQL查询以更新许多列的列值一个陈述。
使用另一个表中的数据更新表中的MySQL数据
在这种情况下,我们要使用Teachers表中的数据更新Student表。适当的UPDATE MySQL示例如下:
UPDATE students SET teacher = (SELECT teacher_id FROM teachers WHERE teachers.city_name = students.city_name) WHERE student_id < 20;
在这个例子中,如果教师表中教师的家乡城市与学生表中学生的家乡城市相匹配,那么该教师就会被分配给这些学生。teacher_id将被复制到学生表中的教师字段。这个变化将适用于那些 student_id 小于 20 的学生。
一次编辑多个表中的MySQL值
在这里,我们要使用一个UPDATE命令更新多个表。
UPDATE students, teachers SET students.city = teachers.city WHERE students.student_id = teachers.teacher_id;
这条MySQL UPDATE命令将学生表中的城市字段更新为教师表中的城市。决定更新的条件是学生的id要与教师的id相匹配。
这样,我们探索了使用UPDATE查询更新MySQL中的字段的最常见情况。但是,使用适当的工具可以使此任务变得更加简单。
在许多用于MySQL任务的软件解决方案中,值得特别关注流行的dbForge产品线,该产品线适用于不同的数据库。
使用dbForge Studio for MySQL执行MySQL UPDATE命令
对于MySQL操作,dbForge Studio for MySQL中提供了所有必需的选项。凭借其与MySQL数据库开发,管理和管理相关的强大功能,此多功能软件可让您对MySQL数据库执行所有操作。
让我们看看dbForge Studio for MySQL如何处理MySQL UPDATE用例。
Studio的主要功能之一是编写,执行和优化SQL查询的性能。自动完成和格式化选项使用户可以消除可能的错字并加快编码速度。自动化的SQL语法检查器还有助于即时发现和纠正错误。
在我们的测试案例中,我们具有以下“客户”表。它包含客户的信息,包括他们的名字和姓氏以及电子邮件地址。
假设表中的数据随着时间的推移发生了变化,我们需要更新一些列的值。例如,Mary Smith的电子邮件必须变成MARY.SMITH@sakilacustomer.com。而假设我们还必须将Barbara的姓氏改为Johnson,因为她最近结婚了。
我们将不得不执行两条MySQL UPDATE语句,因为这些更改涉及到表的不同行。
你还记得,我们需要在UPDATE关键字后指定表名。在我们的例子中,它是customers。要更新的列在SET子句中指定,在我们的例子中,对应的是email和last_name。
然而,它不再需要记住这些东西:dbForge Studio for MySQL会自动生成UPDATE语句。没有必要在MySQL中手动输入UPDATE查询。
因此,你将需要做以下工作。
将打开新的SQL文档页面。它已经具有为MySQL UPDATE命令提供的所有必需语法。
您可以按以下方式替换过时的值并添加最新数据:
执行查询后,您可以在右下角检查其状态。
要确保查询已成功更新值,请返回到Data grid mode,然后单击Refresh图标。
如您所见,email和last_name值已成功更新。
结论
MySQL UPDATE查询非常常见且方便,以至于在使用MySQL数据库时不可避免地要处理它。当您在单个字段,整个表甚至几个表中更改MySQL中的值时,它同样有效。
使用很简单,但可能会非常耗时。因此,方便的专业工具(如dbForge Studio for MySQL)使所有任务变得更快,更流畅,更轻松。我们希望当前的文章对您有所帮助。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
dbForge Studio for MySQL是与专业化MySQL数据库紧密相连的先进开发环境。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢