翻譯|使用教程|編輯:鮑佳佳|2021-03-11 11:32:13.643|閱讀 335 次
概述:大多數(shù)現(xiàn)代網(wǎng)站和應(yīng)用程序都基于數(shù)據(jù)收集,存儲(chǔ)和分析。數(shù)據(jù)庫(kù)積極參與構(gòu)建整個(gè)Web環(huán)境。這就是為什么確保從數(shù)據(jù)庫(kù)正確檢索數(shù)據(jù)和適當(dāng)?shù)臄?shù)據(jù)操作方式至關(guān)重要。為了正確地修改數(shù)據(jù),您將需要執(zhí)行SQL查詢。本文將重點(diǎn)介紹MySQL UPDATE語(yǔ)句及其用法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
點(diǎn)擊下載dbForge Studio for MySQL最新試用版
大多數(shù)現(xiàn)代網(wǎng)站和應(yīng)用程序都基于數(shù)據(jù)收集,存儲(chǔ)和分析。數(shù)據(jù)庫(kù)積極參與構(gòu)建整個(gè)Web環(huán)境。這就是為什么確保從數(shù)據(jù)庫(kù)正確檢索數(shù)據(jù)和適當(dāng)?shù)臄?shù)據(jù)操作方式至關(guān)重要。為了正確地修改數(shù)據(jù),您將需要執(zhí)行SQL查詢。本文將重點(diǎn)介紹MySQL UPDATE語(yǔ)句及其用法。
MySQL UPDATE語(yǔ)句的本質(zhì)和作用
很多時(shí)候,我們需要更新MySQL中的字段并更改表中存儲(chǔ)的數(shù)據(jù)。我們可以使用UPDATE語(yǔ)句來(lái)做到這一點(diǎn)。此命令可以修改表中的任何字段。它適用于更新單行和多行。
MySQL UPDATE語(yǔ)句是MySQL中最常用的命令之一。讓我們看一下它的語(yǔ)法。
MySQL UPDATE語(yǔ)法
在MySQL中處理UPDATE查詢時(shí),我們通常會(huì)遇到三種特殊情況。它們是:更新一個(gè)MySQL表,用另一個(gè)MySQL表中的數(shù)據(jù)更新一個(gè)表,以及更新多個(gè)表。
表中MySQL更新行的簡(jiǎn)單簡(jiǎn)化語(yǔ)法模板如下:
UPDATE table SET column1 = expression1, column2 = expression2, ... [WHERE conditions];
相同情況下的完整語(yǔ)法模板如下:
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] ...
應(yīng)用MySQL UPDATE語(yǔ)句的一種特殊情況是用另一個(gè)MySQL表中的數(shù)據(jù)更新一個(gè)表中的數(shù)據(jù):
UPDATE table1 SET column1 = (SELECT expression1 FROM table2 WHERE conditions) [WHERE conditions];
UPDATE語(yǔ)句非常適合多個(gè)表。在這種情況下,語(yǔ)法模板將進(jìn)行如下修改:
UPDATE table1, table2, ... SET column1 = expression1, column2 = expression2, ... WHERE table1.column = table2.column AND conditions;
您始終需要定義要更新的表的名稱。
以下元素對(duì)于MySQL更新語(yǔ)法是必不可少的:
注意:如果您設(shè)置的值與該列當(dāng)前所設(shè)置的值相同,則MySQL UPDATE命令將檢測(cè)到該值,并且不會(huì)對(duì)其進(jìn)行更新。
UPDATE語(yǔ)句可能包含兩個(gè)可選修飾符LOW_PRIORITY和IGNORE:
MySQL UPDATE語(yǔ)句示例
MySQL中的UPDATE查詢?cè)谠S多情況下很有用。讓我們考慮一些將該示例應(yīng)用于MySQL中的標(biāo)準(zhǔn)任務(wù)的示例。
使用UPDATE命令更新MySQL列
一個(gè)簡(jiǎn)單的基本MySQL UPDATE表示例將說(shuō)明如何在MySQL中更改值。假設(shè)我們需要在數(shù)據(jù)庫(kù)中更改學(xué)生的姓氏。該查詢將是以下內(nèi)容:
UPDATE students SET last_name = 'Williams' WHERE student_id = 384;
通過(guò)執(zhí)行此代碼,我們更改了Student表。我們將last_name更改為Williams并指定條件-該更改適用于為384的student_id。
應(yīng)用MySQL UPDATE命令更改多列
MySQL更新多列任務(wù)也很常見(jiàn)。在以下情況下,我們要更改一組學(xué)生的城市值。看一下以下查詢:
UPDATE students SET city = 'Birmingham', student_rep = 15 WHERE student_id > 20;
在這里,我們將在一組學(xué)生的表中獲取MySQL更新數(shù)據(jù)。該命令會(huì)將其原籍城市更新為伯明翰,并將student_rep更改為15。該更改將應(yīng)用于student_id大于20的那些學(xué)生。通過(guò)這種方式,使用以下命令執(zhí)行MySQL查詢以更新許多列的列值一個(gè)陳述。
使用另一個(gè)表中的數(shù)據(jù)更新表中的MySQL數(shù)據(jù)
在這種情況下,我們要使用Teachers表中的數(shù)據(jù)更新Student表。適當(dāng)?shù)腢PDATE MySQL示例如下:
UPDATE students SET teacher = (SELECT teacher_id FROM teachers WHERE teachers.city_name = students.city_name) WHERE student_id < 20;
在這個(gè)例子中,如果教師表中教師的家鄉(xiāng)城市與學(xué)生表中學(xué)生的家鄉(xiāng)城市相匹配,那么該教師就會(huì)被分配給這些學(xué)生。teacher_id將被復(fù)制到學(xué)生表中的教師字段。這個(gè)變化將適用于那些 student_id 小于 20 的學(xué)生。
一次編輯多個(gè)表中的MySQL值
在這里,我們要使用一個(gè)UPDATE命令更新多個(gè)表。
UPDATE students, teachers SET students.city = teachers.city WHERE students.student_id = teachers.teacher_id;
這條MySQL UPDATE命令將學(xué)生表中的城市字段更新為教師表中的城市。決定更新的條件是學(xué)生的id要與教師的id相匹配。
這樣,我們探索了使用UPDATE查詢更新MySQL中的字段的最常見(jiàn)情況。但是,使用適當(dāng)?shù)墓ぞ呖梢允勾巳蝿?wù)變得更加簡(jiǎn)單。
在許多用于MySQL任務(wù)的軟件解決方案中,值得特別關(guān)注流行的dbForge產(chǎn)品線,該產(chǎn)品線適用于不同的數(shù)據(jù)庫(kù)。
使用dbForge Studio for MySQL執(zhí)行MySQL UPDATE命令
對(duì)于MySQL操作,dbForge Studio for MySQL中提供了所有必需的選項(xiàng)。憑借其與MySQL數(shù)據(jù)庫(kù)開(kāi)發(fā),管理和管理相關(guān)的強(qiáng)大功能,此多功能軟件可讓您對(duì)MySQL數(shù)據(jù)庫(kù)執(zhí)行所有操作。
讓我們看看dbForge Studio for MySQL如何處理MySQL UPDATE用例。
Studio的主要功能之一是編寫(xiě),執(zhí)行和優(yōu)化SQL查詢的性能。自動(dòng)完成和格式化選項(xiàng)使用戶可以消除可能的錯(cuò)字并加快編碼速度。自動(dòng)化的SQL語(yǔ)法檢查器還有助于即時(shí)發(fā)現(xiàn)和糾正錯(cuò)誤。
在我們的測(cè)試案例中,我們具有以下“客戶”表。它包含客戶的信息,包括他們的名字和姓氏以及電子郵件地址。
假設(shè)表中的數(shù)據(jù)隨著時(shí)間的推移發(fā)生了變化,我們需要更新一些列的值。例如,Mary Smith的電子郵件必須變成MARY.SMITH@sakilacustomer.com。而假設(shè)我們還必須將Barbara的姓氏改為Johnson,因?yàn)樗罱Y(jié)婚了。
我們將不得不執(zhí)行兩條MySQL UPDATE語(yǔ)句,因?yàn)檫@些更改涉及到表的不同行。
你還記得,我們需要在UPDATE關(guān)鍵字后指定表名。在我們的例子中,它是customers。要更新的列在SET子句中指定,在我們的例子中,對(duì)應(yīng)的是email和last_name。
然而,它不再需要記住這些東西:dbForge Studio for MySQL會(huì)自動(dòng)生成UPDATE語(yǔ)句。沒(méi)有必要在MySQL中手動(dòng)輸入U(xiǎn)PDATE查詢。
因此,你將需要做以下工作。
將打開(kāi)新的SQL文檔頁(yè)面。它已經(jīng)具有為MySQL UPDATE命令提供的所有必需語(yǔ)法。
您可以按以下方式替換過(guò)時(shí)的值并添加最新數(shù)據(jù):
執(zhí)行查詢后,您可以在右下角檢查其狀態(tài)。
要確保查詢已成功更新值,請(qǐng)返回到Data grid mode,然后單擊Refresh圖標(biāo)。
如您所見(jiàn),email和last_name值已成功更新。
結(jié)論
MySQL UPDATE查詢非常常見(jiàn)且方便,以至于在使用MySQL數(shù)據(jù)庫(kù)時(shí)不可避免地要處理它。當(dāng)您在單個(gè)字段,整個(gè)表甚至幾個(gè)表中更改MySQL中的值時(shí),它同樣有效。
使用很簡(jiǎn)單,但可能會(huì)非常耗時(shí)。因此,方便的專業(yè)工具(如dbForge Studio for MySQL)使所有任務(wù)變得更快,更流暢,更輕松。我們希望當(dāng)前的文章對(duì)您有所幫助。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: