Oracle更新数据和删除数据
更新数据
如果表中的数据不合适,那么就需要对其修改或更新。在SQL中,用户可以使用UPDATE语句完成数据的更新操作。
在更新数据时,即可以一次更新一列,也可以一次更新多列。如果在UPDATE语句中使用了WHERE条件表达式,那么只有符合条件的记录才会被更新;如果没有使用WHERE条件表达式,那么表示更新表中所有行的数据。
在更新表中的数据时,这些更新操作不能违反表中的完整性约束。例如,在EMP表中,主键列EMPNO的数据不允许重复,因此如果更新后的数据与现存数据相同,则会因为违反主键约束而失败。如下所示:
SQL> update emp
  2  set empno=7876
  3  where ename='CLARK';
update emp
*
第 1 行出现错误:
ORA-00001: 违反唯一约束条件 (SCOTT.PK_EMP)
 
在更新数据时,如果没有使用WHERE条件表达式,那么系统将会更新表中所有的数据。因此,在使用没有条件表达式的更新操作时一定要谨慎。
删除数据
如果表中的数据不再需要,那么就可以删除表中的数据。在删除表中的数据时,最常用的SQL语句是DELETE语句。drop删除表
在删除操作中,即可以一次删除一行数据,也可以一次删除多行数据,更可以删除表中的所
有数据。在DELETE语句中,如果没有使用WHERE条件表达式,那么将会删除表中的所有数据。例如,下面语句将删除EMP表中的ENAME列为ATG的记录行:
SQL> delete from emp
  2  where ename='ATG';
已删除 1 行。
在Oracle系统中,除了DELETE语句外,还可以使用TRUNCATE TABLE语句删除表中的所有数据。相比之下,使用TRUNCATE语句删除数据时,通常要比DELETE语句快许多。这是因为使用TRUNCATE TABLE语句删除数据时,它不会产生回退信息,因此执行TRUNCATE操作也不能撤销。例如,下面的语句将删除accounting_employees表中所有的记录:
SQL> truncate table accounting_employees;
表被截断。
在TRUNCATE语句删除数据时,还可以使用关键字REUSE STORAGE,表示删除记录后仍然保存记录占用的空间;与此相反,也可以使用DROP STORACE关键字,表示删除记录后立即回收记录占用的空间,默认在TRUNCATE TABLE语句中使用DROP STORAGE关键字。使用关键字REUSE STORAGE保留删除记录后的空间的TRUNCATE语句如下:
SQL> truncate table accounting_employees reuse storage;
表被截断。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。