2023年8月3日发(作者:)

Oracle更新数据和删除数据

更新数据

如果表中的数据不合适,那么就需要对其修改或更新。在SQL中,用户可以使用UPDATE语句完成数据的更新操作。

在更新数据时,即可以一次更新一列,也可以一次更新多列。如果在UPDATE语句中使用了WHERE条件表达式,那么只有符合条件的记录才会被更新;如果没有使用WHERE条件表达式,那么表示更新表中所有行的数据。

在更新表中的数据时,这些更新操作不能违反表中的完整性约束。例如,在EMP表中,主键列EMPNO的数据不允许重复,因此如果更新后的数据与现存数据相同,则会因为违反主键约束而失败。如下所示:

SQL> update emp

2 set empno=7876

3 where ename='CLARK';

update emp

*

第 1 行出现错误:

ORA-00001: 违反唯一约束条件 (_EMP)

在更新数据时,如果没有使用WHERE条件表达式,那么系统将会更新表中注 所有的数据。因此,在使用没有条件表达式的更新操作时一定要谨慎。

删除数据

如果表中的数据不再需要,那么就可以删除表中的数据。在删除表中的数据时,最常用的SQL语句是DELETE语句。

在删除操作中,即可以一次删除一行数据,也可以一次删除多行数据,更可以删除表中的所有数据。在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;

表被截断。

2023年8月3日发(作者:)

Oracle更新数据和删除数据

更新数据

如果表中的数据不合适,那么就需要对其修改或更新。在SQL中,用户可以使用UPDATE语句完成数据的更新操作。

在更新数据时,即可以一次更新一列,也可以一次更新多列。如果在UPDATE语句中使用了WHERE条件表达式,那么只有符合条件的记录才会被更新;如果没有使用WHERE条件表达式,那么表示更新表中所有行的数据。

在更新表中的数据时,这些更新操作不能违反表中的完整性约束。例如,在EMP表中,主键列EMPNO的数据不允许重复,因此如果更新后的数据与现存数据相同,则会因为违反主键约束而失败。如下所示:

SQL> update emp

2 set empno=7876

3 where ename='CLARK';

update emp

*

第 1 行出现错误:

ORA-00001: 违反唯一约束条件 (_EMP)

在更新数据时,如果没有使用WHERE条件表达式,那么系统将会更新表中注 所有的数据。因此,在使用没有条件表达式的更新操作时一定要谨慎。

删除数据

如果表中的数据不再需要,那么就可以删除表中的数据。在删除表中的数据时,最常用的SQL语句是DELETE语句。

在删除操作中,即可以一次删除一行数据,也可以一次删除多行数据,更可以删除表中的所有数据。在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;

表被截断。