8.2 使用UPDATE语句修改行 - 51CTO.COM

来源:百度文库 编辑:神马文学网 时间:2024/04/28 01:00:38
8.2 使用UPDATE语句修改行
http://book.51cto.com  2008-12-29 11:18  史新元 北英  清华大学出版社  我要评论(0)
摘要:《Oracle Database 11g SQL开发指南》深入浅出、全面细致地讲解了如何读取和修改数据库信息,如何使用SQL Plus和SQL Developer,如何使用数据库对象,如何编写PL/SQL程序等内容。第8章将介绍更多有关修改表内容的知识。 本节说的是使用UPDATE语句修改行。
标签:数据库  列表  UPDATE语句  Oracle Database 11g SQL开发指
Oracle帮您准确洞察各个物流环节
8.2  使用UPDATE语句修改行
UPDATE语句用于修改表中行的内容。在UPDATE语句中,通常要指定以下信息:
● 表名
● WHERE子句,它指定要修改哪些行
● 要修改的列的列表及其新值,使用SET子句指定
UPDATE语句可以同时修改一行或多行记录。如果指定了多行,就对所有这些行进行相同的修改操作。例如,下面这个语句将customer_id为2的那一行的last_name列修改为Orange:
UPDATE customers
SET last_name = 'Orange'
WHERE customer_id = 2; 1 row updated.
SQL*Plus会确认已经修改了一行的内容。如果忽略了WHERE子句,就会修改所有的行。下面这个查询可以确认刚才的确修改了表的内容:
SELECT *
FROM customers
WHERE customer_id = 2; CUSTOMER_ID  FIRST_NAME LAST_NAME  DOB        PHONE
----------- ---------- ---------- --------- ------------
2   Cynthia     Orange     05-FEB-68 800-555-1212
在UPDATE语句中,可以同时对多行或多列进行修改。例如,下面这个UPDATE语句就把目前价格大于或等于$20的所有产品的价格提高20%。这个UPDATE语句还将这些产品的名称转换为小写形式:
UPDATE products
SET
price = price * 1.20,
name = LOWER(name)
WHERE
price >= 20; 3 rows updated.
可以看到,这个语句修改了3行记录的内容,这可以使用下面的查询确认:
SELECT product_id, name, price
FROM products
WHERE price >= (20 * 1.20); ID NAME                                      PRICE
------ ------------------------------ ----------
2 chemistry                                36
3 supernova                             31.19
5 z-files                               59.99
注意:
在UPDATE语句中,也可以使用子查询。这在第6章的6.7.1小节"编写包含子查询的UPDATE语句"中已经介绍过了。