【SQL】10 SQL UPDATE 語句

HelloZEX發表於2018-07-26

UPDATE 語句用於更新表中的記錄。


SQL UPDATE 語句

UPDATE 語句用於更新表中已存在的記錄。

SQL UPDATE 語法

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

 

lamp 請注意 SQL UPDATE 語句中的 WHERE 子句!
WHERE 子句規定哪條記錄或者哪些記錄需要更新。如果您省略了 WHERE 子句,所有的記錄都將被更新!

 


演示資料庫

在本教程中,我們將使用 RUNOOB 樣本資料庫。

下面是選自 "Websites" 表的資料:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘寶          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鳥教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

 


SQL UPDATE 例項

假設我們要把 "菜鳥教程" 的 alexa 排名更新為 5000,country 改為 USA。

我們使用下面的 SQL 語句:

例項

UPDATE Websites SET alexa='5000', country='USA' WHERE name='菜鳥教程';

執行以上 SQL,再讀取 "Websites" 表,資料如下所示:

 


Update 警告!

在更新記錄時要格外小心!在上面的例項中,如果我們省略了 WHERE 子句,如下所示:

UPDATE Websites
SET alexa='5000', country='USA'

執行以上程式碼會將 Websites 表中所有資料的 alexa 改為 5000,country 改為 USA。

執行沒有 WHERE 子句的 UPDATE 要慎重,再慎重。


執行沒有 WHERE 子句的 UPDATE 要慎重,再慎重。

在 MySQL 中可以通過設定 sql_safe_updates 這個自帶的引數來解決,當該引數開啟的情況下,你必須在update 語句後攜帶 where 條件,否則就會報錯。

set sql_safe_updates=1; 表示開啟該引數