向表中插入数据后,由于某种原因可能需要修改表中的数据。这时,可以使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。其语法格式为:
UPDATE table_name
SET column_name=expression [,…n]
[ WHERE search_conditions ]
其中:
table_name:要更新数据的表名。
column_name:要更新数据的列名。
expression:更新后的数据值。
search_conditions:更新条件,只对表中满足该条件的记录进行更新。
1.更新单行记录
【例3.21】 修改Seller表,将SaleID为s11的销售员的地址改为“东直门外大街108号”,电话改为“(010)60486658”。
UPDATE Seller
SET Address='东直门外大街108号',Telephone='(010)60486658'
WHERE SaleID='s11'
执行UPDATE语句之后的结果如图3-29所示。SaleID为s11的销售员的地址和电话被成功修改。
2.更新多行记录
【例3.22】 数据库sales中有Product表,表中数据如图3-30所示。将表中Category
ID为2的所有产品的价格下调10%。
UPDATE语句为:
UPDATE Product
SET Price=Price*(1-0.1)
WHERE CategoryID=2
执行UPDATE语句之后的结果如图3-31所示。
由代码执行前后的结果可以看出,UPDATE语句执行后,成功地将表中符合条件(CategoryID为2)的记录的价格下调了10%。
3.修改所有记录
【例3.23】 将Product表中所有产品的库存量Stocks修改为500(件)。
UPDATE语句为:
UPDATE Product
SET Stocks=500
执行结果如图3-32所示。可以看到Product表中所有记录的Stocks字段值都变成了500。
通过以上3个例子看到,使用UPDATE语句可以一次修改一行数据,也可以一次修改多行数据,甚至是整张表的数据。但是无论哪种修改,都要求修改前后的数据类型和数据个数相同。