1. 删除oracle表中的所有数据而不删除表:
语法:
TRUNCATE TABLE table_name;
使用这条语句只是删除表中的全部数据,不是删除表,这种方式也叫做截断表,这种方式比使用delete删除数据的速度要快很多;
SQL> desc new_userinfo; 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(6) USERNAME VARCHAR2(20) PASSWORD NUMBER(6) NEW_EMAIL VARCHAR2(30) REGDATE DATE SQL> truncate table new_userinfo; 表被截断。 SQL> desc new_userinfo 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(6) USERNAME VARCHAR2(20) PASSWORD NUMBER(6) NEW_EMAIL VARCHAR2(30) REGDATE DATE SQL>
只是删除表中的数据,而不是删除表;
2. 直接删除表:
语法:
DROP TABLE table_name;
SQL> desc new_userinfo 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(6) USERNAME VARCHAR2(20) PASSWORD NUMBER(6) NEW_EMAIL VARCHAR2(30) REGDATE DATE SQL> drop table new_userinfo; 表已删除。 SQL> desc new_userinfo; ERROR: ORA-04043: 对象 new_userinfo 不存在 SQL>