可以使用 UPDATE 语句(后接表或视图的名称)更改表中的单个行、一组行或所有行。像在所有数据修改语句中一样,一次只能更改一个表或视图中的数据。
UPDATE 语句指定您要更改的行和新数据。新数据可以是一个常量、指定的表达式或从其它表取出的数据。
如果 UPDATE 语句违反了完整性约束,则不会进行更新并将显示一条错误消息。例如,如果正被添加的一个值是错误的数据类型,或者如果它违反为所涉及的某个列或数据类型定义的约束,则将不会进行更新。
UPDATE 语法的简化版本如下:
UPDATE table-name SET column_name = expression WHERE search-condition
如果 Newton Ent. 公司(在 SQL Anywhere 示例数据库的 Customers 表中)被 Einstein, Inc. 接管,则可以使用如下语句更新该公司的名称:
UPDATE Customers SET CompanyName = 'Einstein, Inc.' WHERE CompanyName = 'Newton Ent.'; |
可以在 WHERE 子句中使用任何表达式。如果不确定公司名称是如何拼写的,则可以使用如下所示的语句尝试更新名为 Newton 的任何公司:
UPDATE Customers SET CompanyName = 'Einstein, Inc.' WHERE CompanyName LIKE 'Newton%'; |
搜索条件不需要引用要更新的列。Newton Entertainments 的公司 ID 是 109。由于 ID 值是表的主键,所以可以确定使用以下语句更新正确的行:
UPDATE Customers SET CompanyName = 'Einstein, Inc.' WHERE ID = 109; |
还可以根据 Interactive SQL 中的结果集修改行。请参见在 Interactive SQL 中编辑结果集。
SET 子句指定要更新的列和它们的新值。WHERE 子句确定将被更新的行。如果不具有 WHERE 子句,则将用 SET 子句中提供的值更新所有行中指定的列。
您可以在 SET 子句中提供数据类型正确的任何表达式。
WHERE 子句指定要更新的行。例如,以下语句用 "Extra Large" T 恤衫替换 "One Size Fits All" T 恤衫。
UPDATE Products SET Size = 'Extra Large' WHERE Name = 'Tee Shirt' AND Size = 'One Size Fits All'; |
您可以使用 FROM 子句从一个或多个表中取出数据并将它们放入正在更新的表中。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |