
有两种办法可以删除表中的所有数据:
1、TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除 *** 作。
语法 TRUNCATE TABLE name
参数 name 是要截断的表的名称或要删除其全部行的表的名称。
2、Delete from tablename where 1=1
编写一段程序,首先读取数据库中的所有表
select name from sysobjects where type='U'
然后读一个,删一个,truncate table + 表名
方法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
方法2:生成清空所有表的sql
mysql
-n
-s
information_schema
-e
"select
concat('truncate
table
',table_name,';')
from
tables
where
table_schema='eab12'"
输出结果如下:
truncate
table
authgroupbindings;
truncate
table
authgroups;
truncate
table
authusers;
truncate
table
corpbadcustominfo;
truncate
table
corpsmsblacklisyinfo;
truncate
table
corpsmsfilterinfo;
truncate
table
corpsmsinfo;
truncate
table
eabasereginfos;
truncate
table
eacorpblob;
truncate
table
eacorpinfo;
首先,需要知道临时表都叫什么名字或者有什么特征,比如都是以temp开头的表是临时表。
可用如下语句:
select 'TRUNCATE TABLE '||TABLE_NAME||';' from tabs where table_name like 'TEMP%';此时,结果中会生成一组语句,复制粘贴。如图:
将复制出来的语句,全选,并执行,即可。
要删除所有的用户表:
declare @sql varchar(8000)
SELECT @sql='drop table ' + name
FROM sysobjects
WHERE (type = 'U')
ORDER BY 'drop table ' + name
exec(@sql)
如果要删除所有用户表中的内容,可以执行以下语句:
declare @sql varchar(8000)
SELECT @sql='truncate table ' + name
FROM sysobjects
WHERE (type = 'U')
ORDER BY 'truncate table ' + name
exec(@sql)
慎用!
创建个存储过程来执行啦
在plsql中把以下代码复制粘贴,并运行
create or replace PROCEDURE SP_DROPTABLE(v_begintime in varchar2,
v_endtime in varchar2)
as
v_tablename varchar2(256);
cursor cur_tablename is
select object_name from user_objects where object_type='TABLE' and to_char(CREATED,'yyyy-mm-dd')
between v_begintime
and v_endtime order by CREATED desc;
begin
open cur_tablename;
loop
fetch cur_tablename into v_tablename;
exit when cur_tablename%notfound;
execute immediate 'drop table '||v_tablename||'';
end loop;
close cur_tablename;
end sp_droptable;
然后,另开一个sql窗口,执行
beginSP_DROPTABLE('1900-01-01','2013-12-31');
end;
如有问题,请查看浏览器右上角处
以上就是关于如何删除数据库中一系列表的数据全部的内容,包括:如何删除数据库中一系列表的数据、如何清空SQL2000数据库中所有表里的所有数据、mysql保留数据库清空所有表的命令是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)