我们有时候可能会需要修改表格中的资料。在这个时候,我们就需要用到 UPDATE 指令。这个指令的语法是:
UPDATE "表格名"
SET "栏位1" = [新值]
WHERE "条件";
SET "栏位1" = [新值]
WHERE "条件";
最容易了解这个语法的方式是透过一个例子。假设我们有以下的表格:
Store_Information 表格
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
我们发现说 Los Angeles 在 08-Jan-1999 的营业额实际上是 $500,而不是表格中所储存的 $300,因此我们用以下的 SQL 来修改那一笔资料:
UPDATE Store_Information
SET Sales = 500
WHERE Store_Name = 'Los Angeles'
AND Txn_Date = 'Jan-08-1999';
SET Sales = 500
WHERE Store_Name = 'Los Angeles'
AND Txn_Date = 'Jan-08-1999';
现在表格的内容变成:
Store_Information 表格
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 500 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
在这个例子中,只有一笔资料符合 WHERE 子句中的条件。如果有多笔资料符合条件的话,每一笔符合条件的资料都会被修改的。
我们也可以同时修改好几个栏位。这语法如下:
UPDATE "表格"
SET "栏位1" = [值1], "栏位2" = [值2]
WHERE "条件";
SET "栏位1" = [值1], "栏位2" = [值2]
WHERE "条件";
在某些情况下,我们会需要直接由数据库中去除一些资料。这可以藉由 DELETE FROM 指令来达成。它的语法是:
DELETE FROM "表格名"
WHERE "条件";
WHERE "条件";
以下我们用个实例说明。假设我们有以下这个表格:
Store_Information 表格
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
而我们需要将有关 Los Angeles 的资料全部去除。在这里我们可以用以下的 SQL 来达到这个目的:
DELETE FROM Store_Information
WHERE Store_Name = 'Los Angeles';
WHERE Store_Name = 'Los Angeles';
现在表格的内容变成:
Store_Information 表格
Store_Name | Sales | Txn_Date |
San Diego | 250 | 07-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
最后再附上一个小工具用于大家练习sql语句:http://www.uzzf.com/soft/28655.html