如何把sql server2008中的一个库里的数据清空

如何把sql server2008中的一个库里的数据清空,第1张

清空数据库中的表还是清空表中的数据

1、删除所有表——剩余空的数据库 ----drop table

2、删除所有表中的数据——剩余空表----delete 或者truncate table XX

有两种办法可以删除表中的所有数据:

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

创建个存储过程来执行啦

在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窗口,执行

 begin

SP_DROPTABLE('1900-01-01','2013-12-31');

end;

如有问题,请查看浏览器右上角处

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉以后要新增数据是不可能的,除非新增一个表。

drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。

注意:truncate 不能删除行数据,要删就要把表清空。

3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除 *** 作作为事务记录在日志中保存以便进行进行回滚 *** 作。

truncate与不带where的delete :只删除数据,而不删除表的结构(定义)

4、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。如果要删除表定义及其数据,请使用 drop table 语句。

5、对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。

6、执行速度,一般来说: drop> truncate > delete。

7、delete语句是数据库 *** 作语言(dml),这个 *** 作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。

扩展资料

例子:

1、查看数据库

2、切换数据库

3、查看数据库中已创建的表

估计你那个程序的删除动作只是做个删除的标记而已

就像windows的回收站,加个删除的标记不让他显示出来而已

如果你要真的删除,你的程序应该会提供一个清空回收站的类似功能

如果没有的话你只能自己写

或者更干脆点你就直接倒数据库删除那条没被你删除的记录

=====================

问题补充:1楼```----什么软件可以删除那条数据``我下载了一些浏览数据的软件只能修改不能删除``郁闷

请问你的数据库是什么数据库

以上就是关于如何把sql server2008中的一个库里的数据清空全部的内容,包括:如何把sql server2008中的一个库里的数据清空、数据库怎么清空一个表中所有数据、如何清空oracle数据库所有表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10166810.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存