1.SQL中如何用delete删除指定表中的所有内容? 2.如何删除所有表?
7个回答
推荐于2017-09-30 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
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 这句话一下搞定,连用户也没了(一次只能删除一个用户下所有的表)。
一条语句只能删除一个表,如果想删除多了表可以把多个语句连到一起。
例如:
TRUNCATE TABLE table1;TRUNCATE TABLE table2;
2、oracle不能删除所有的表,只能删除所有用户下的表,所有的表都删了,数据库就完蛋了(有一些系统表)
方法A select 'drop table ' || table_name || ' cascade ;' from user_tables 该语句的查询结果是N个删除语句,将其复制,然后在sql窗口运行即可。
方法B drop user 用户名 cascade 这句话一下搞定,连用户也没了(一次只能删除一个用户下所有的表)。
展开全部
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 这句话一下搞定,连用户也没了(一次只能删除一个用户下所有的表)
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 这句话一下搞定,连用户也没了(一次只能删除一个用户下所有的表)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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%';来查找自己想要删除却忘记了表名的一些表。
一般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%';来查找自己想要删除却忘记了表名的一些表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那个应该是用DROP,DROP是针对于表操作的,而delete和truncate是针对表中的数据进行操作的,
drop table_name就行了,
drop table_name就行了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delete from 表名。不加任何条件就是删除所有。drop是删除表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询