
有两种办法可以删除表中的所有数据:
TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除 *** 作。;语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要删除其全部行的表的名称。
Delete from tablename where 1=1
方法1:重建库和表:
一、只导出表结构:
导出整个数据库结构(不包含数据):mysqldump -h localhost -uroot -p123456 -d database > dumpsql
导出单个数据表结构(不包含数据):mysqldump -h localhost -uroot -p123456 -d database table > dumpsql
二、只导出表数据:
导出整个数据库数据:mysqldump -h localhost -uroot -p123456 -t database > dumpsql
三、导出结构+数据
导出整个数据库结构和数据:mysqldump -h localhost -uroot -p123456 database > dumpsql
导出单个数据表结构和数据:mysqldump -h localhost -uroot -p123456 database table > dumpsql
类似这样:
获取所有表名 ,根据表名来删除表
--变量@tablename保存表名
declare @tablename nvarchar(100)
--将用户表全部保存到临时表#tablename中
SELECT [name] into #tablename FROM sysobjects
WHERE type = 'U';
--当#tablename有数据时
while(select count(1) from #tablename)>0
begin
--从#tablename中取第一条
select top 1 @tablename=[name] from #tablename;
--进行表删除 *** 作,表名为变量,所以此处用到动态sql
exec('drop table '+@tablename);
--将此表名记录从#tablename中删除
delete from #tablename where [name]=@tablename;
end
--最后删除临时表#tablename
可以使用以下3种方式实现:
1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可。
2、如果有删除用户的权限,则可以写:
1
drop user user_name cascade;
加了cascade就可以把用户连带的数据全部删掉。
3、如果没有删除用户的权限,则可以执行:
1
select 'drop table '||table_name||';' from cat where table_type='TABLE'
清空数据库主要有两种方式
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除 *** 作作为事务记录在日志中保存以便进行进行回滚 *** 作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除 *** 作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
(2)表和索引所占空间。
当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,
DELETE *** 作不会减少表或索引所占用的空间。
drop语句将表所占用的空间全释放掉。
(3)一般而言,drop > truncate > delete
use
数据库名
delete
表名
补充:当然是只删除表中数据
试一下不就知道了?
不放心就先复制一下数据表,select
into
新表
from
旧表
以上就是关于数据库怎么清空一个表中所有数据全部的内容,包括:数据库怎么清空一个表中所有数据、如何用sql语句来清空一个数据库、oracle怎么清空数据库数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)