Collection Contents 上一页 下一页 PDF

ASA SQL 用户指南

添加、更改和删除数据

使用 UPDATE 更改数据


您可以使用 UPDATE 语句(后接表或视图的名称)更改表中的单个行、一组行或所有行。像在所有数据修改语句中一样,您一次只能更改一个表或视图中的数据。

UPDATE 语句指定您要更改的行和新数据。新数据可以是一个常量、指定的表达式或从其它表取出的数据。

如果 UPDATE 语句违反了完整性约束,则不会进行更新并将显示一条错误消息。例如,如果正被添加的一个值是错误的数据类型,或者如果它违反为所涉及的某个列或数据类型定义的约束,则将不会进行更新。

UPDATE 语法 

UPDATE 语法的简化版本如下:

UPDATE table-name 
SET column_name = expression 
WHERE search-condition

如果 Newton Ent. 公司(在示例数据库的 customer 表中)被 Einstein, Inc. 接管,则您可以使用如下语句更新该公司的名称:

UPDATE customer
SET company_name = 'Einstein, Inc.'
WHERE company_name = 'Newton Ent.'

您可以在 WHERE 子句中使用任何表达式。如果不确定公司名称是如何拼写的,则您可以使用如下所示的语句尝试更新名为 Newton 的任何公司:

UPDATE customer
SET company_name = 'Einstein, Inc.'
WHERE company_name LIKE 'Newton%'

搜索条件不需要引用被更新的列。Newton Entertainments 的公司 ID 是 109。由于 ID 值是表的主键,所以您可以确定使用以下语句更新正确的行:

UPDATE customer
SET company_name = 'Einstein, Inc.'
WHERE id = 109
SET 子句 

SET 子句指定将被更新的列和它们的新值。WHERE 子句确定将被更新的行。如果不具有 WHERE 子句,则将用 SET 子句中提供的值更新所有行中指定的列。

您可以在 SET 子句中提供数据类型正确的任何表达式。

WHERE 子句 

WHERE 子句指定将被更新的行。例如,以下语句用"Extra Large Tee Shirt"替换"One Size Fits All Tee Shirt"。

UPDATE product
SET size  = 'Extra Large'
WHERE name = 'Tee Shirt'
   AND size = 'One Size Fits All'
FROM 子句 

您可以使用 FROM 子句从一个或多个表中取出数据并将它们放入正在更新的表中。


Collection Contents 上一页 下一页 PDF