翻譯|使用教程|編輯:鮑佳佳|2021-03-11 11:32:13.643|閱讀 335 次
概述:大多數現代網站和應用程序都基于數據收集,存儲和分析。數據庫積極參與構建整個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@fc6vip.cn
文章轉載自: