SQL 入門教程:更新(UPDATE)數據


目錄

目錄匯總:SQL 零基礎入門教程

更新(修改)表中的數據,可以使用 UPDATE 語句。有兩種使用 UPDATE 的方式:

  • 更新表中的特定行;
  • 更新表中的所有行。

下面分別介紹。

注意:不要省略 WHERE 子句

在使用 UPDATE 時一定要細心。因為稍不注意,就會更新表中的所有行。使用這條語句前,請完整地閱讀本文。

提示:UPDATE 與安全

在客戶端/服務器的 DBMS 中,使用 UPDATE 語句可能需要特殊的安全權限。在你使用 UPDATE 前,應該保證自己有足夠的安全權限。

使用 UPDATE 語句非常容易,甚至可以說太容易了。基本的 UPDATE 語句由三部分組成,分別是:

  • 要更新的表;
  • 列名和它們的新值;
  • 確定要更新哪些行的過濾條件。

舉一個簡單例子。客戶 1000000005 現在有了電子郵件地址,因此他的記錄需要更新,語句如下:

輸入▼

UPDATE Customers
SET cust_email = 'kim@thetoystore.com'
WHERE cust_id = 1000000005;

UPDATE 語句總是以要更新的表名開始。在這個例子中,要更新的表名為 CustomersSET 命令用來將新值賦給被更新的列。在這里,SET 子句設置 cust_email 列為指定的值:

SET cust_email = 'kim@thetoystore.com'

UPDATE 語句以 WHERE 子句 結束,它告訴 DBMS 更新哪一行。沒有 WHERE 子句,DBMS 將會用這個電子郵件地址更新 Customers 表中的所有行,這不是我們希望的。

更新多個列的語法稍有不同:

輸入▼

UPDATE Customers
SET cust_contact = 'Sam Roberts',
    cust_email = 'sam@toyland.com'
WHERE cust_id = 1000000006;

在更新多個列時,只需要使用一條 SET 命令,每個“列=值”對之間用逗號分隔(最后一列之后不用逗號)。在此例子中,更新顧客 1000000006 的 cust_contactcust_email 列。

提示:在 UPDATE 語句中使用子查詢

UPDATE 語句中可以使用子查詢,使得能用 SELECT 語句 檢索出的數據更新列數據。關於子查詢及使用的更多內容,請參閱 子查詢

提示:FROM 關鍵字

有的 SQL 實現支持在 UPDATE 語句中使用 FROM 子句,用一個表的數據更新另一個表的行。如想知道你的 DBMS 是否支持這個特性,請參閱它的文檔。

刪除 某個列的值,可設置它為 NULL(假如表定義允許 NULL 值)。如下進行:

輸入▼

UPDATE Customers
SET cust_email = NULL
WHERE cust_id = 1000000005;

其中 NULL 用來去除 cust_email 列中的值。這與保存空字符串很不同(空字符串用''表示,是一個值),而 NULL 表示沒有值。

請參閱

(完)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM