1.SQL中如何用delete删除指定表中的所有内容? 2.如何删除所有表?

2024-12-02 21:35:36
推荐回答(5个)
回答1:

1、delete 与TRUNCATE都会保留表结构,但不要用delete ,用TRUNCATE 更好一些。
一条语句只能删除一个表,如果想删除多了表可以把多个语句连到一起。
例如:
TRUNCATE TABLE table1;TRUNCATE TABLE table2;

2、oracle不能删除所有的表,只能删除所有用户下的表,所有的表都删了,数据库就完蛋了(有一些系统表)
方法A select 'drop table ' || table_name || ' cascade ;' from user_tables 该语句的查询结果是N个删除语句,将其复制,然后在sql窗口运行即可。
方法B drop user 用户名 cascade 这句话一下搞定,连用户也没了(一次只能删除一个用户下所有的表)。

回答2:

1. 删除表中所有内容:
delete from table_name
table_name是表名
2. 删除所有的表:
请问你用的哪个数据库?这里给出oracle的方法(A,B两种):
oracle不能删除所有的表,只能删除所有用户下的表,所有的表都删了,数据库就完蛋了(有一些系统表)
方法A select 'drop table ' || table_name || ' cascade ;' from user_tables 该语句的查询结果是N个删除语句,将其复制,然后在sql窗口运行即可~
方法B drop user 用户名 cascade 这句话一下搞定,连用户也没了(一次只能删除一个用户下所有的表)

回答3:

delete from table 是根据条件来删除的,也就是说,你可以根据自己想删除的记录的一些特有的条件来删除它,
一般plsql操作oracle的时候,可以将语句写成这种格式
select * from table
--delete from table
where a = b;
and c in ('d','e')
and f like '%g%';
删除的时候可以从delete开始选中,完全选中就是查看,
如果想删除所有表,那么可以使用这种方法(慎用!!!):
用户下有一个默认的表,all_tables 里面存储了所有表的信息,可以通过字符拼接来实现drop语句
select 'drop table '||table_name||';' from all_tables;
将这些语句执行,那么就可以删除所有表,
不过也可以通过select * from all_tables where table_name like '%abcd%';来查找自己想要删除却忘记了表名的一些表。

回答4:

那个应该是用DROP,DROP是针对于表操作的,而delete和truncate是针对表中的数据进行操作的,
drop table_name就行了,

回答5:

delete from 表名。不加任何条件就是删除所有。drop是删除表