`
jessen163
  • 浏览: 465569 次
  • 性别: Icon_minigender_1
  • 来自: 潘多拉
社区版块
存档分类
最新评论

使用SQL语句清空数据库所有表的数据[转]

阅读更多
近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.
1.搜索出所有表名,构造为一条SQL语句


declare @trun_name varchar(8000)
set @trun_name=''
select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0
exec (@trun_name)

该方法适合表不是非常多的情况,否则表数量过多,超过字符串的长度,不能进行完全清理.
2.利用游标清理所有表

declare @trun_name varchar(50)
declare name_cursor cursor for
select 'truncate table ' + name from sysobjects where xtype='U' and status > 0
open name_cursor
fetch next from name_cursor into @trun_name
while @@FETCH_STATUS = 0
begin
  exec (@trun_name)
 print 'truncated table ' + @trun_name
 fetch next from name_cursor into @trun_name
end
close name_cursor
deallocate name_cursor


这是我自己构造的,可以做为存储过程调用, 能够一次清空所有表的数据,并且还可以进行有选择的清空表.
3.利用微软未公开的存储过程


exec sp_msforeachtable "truncate table ?"



该方法可以一次清空所有表,但不能加过滤条件.

分享到:
评论

相关推荐

    使用SQL语句清空数据库所有表的数据.pdf

    1. **构造单一SQL语句清空所有表** 这种方法适用于表数量不多的情况。首先,我们需要查询`sysobjects`系统视图以获取所有用户定义的表(`xtype='U'`)的名称。然后,我们将这些表名拼接成一个`TRUNCATE TABLE`语句...

    使用SQL语句清空数据库所有表的数据.docx

    这里我们将详细探讨几种使用SQL语句来实现这一目标的方法。 首先,我们来看第一种方法,这种方法适用于表数量不是特别多的情况。通过查询`sysobjects`系统视图,我们可以获取到所有用户定义的表(`xtype='U'`)并...

    SqlServer删除所有表数据语句

    Sql Server 删除所有表数据语句 ...使用 Sql Server 删除所有表数据语句可以快速地删除当前数据库中的所有表数据,而保持表结构不变。同时,我们也可以使用排序规则来确定数据如何排序、比较和存储。

    使用SQL语句清空数据库所有表的数据

    TRUNCATE删除所有数据,但保留表结构和标识种子,速度快且不记录日志,适合大批量删除。而DELETE语句会记录每一行的删除操作,如果需要恢复数据或回滚事务,DELETE更适合。 在执行这些清理操作前,请务必谨慎,因为...

    SQL--清空所有表的数据

    标题清晰地指出了文章的主题——使用SQL语句清空数据库中的所有表数据。这是一个实用的操作,通常用于以下场景: - **测试环境准备**:在进行新功能测试前,可能需要一个干净的数据库状态。 - **数据备份后清理**:...

    清空数据库中所有数据

    通过上述分析,我们了解了如何使用T-SQL脚本、游标和动态SQL来清空数据库中除特定表外的所有数据。这种操作在数据库管理中具有广泛的应用价值,尤其是在需要重新初始化环境或进行数据清理的场景下。然而,需要注意的...

    利用SQL语句清空数据表.rar

    本教程将重点讲解如何利用SQL语句清空数据表,适用于各种支持SQL语言的数据库系统,如MySQL、PostgreSQL、SQL Server和Oracle等。 首先,我们来了解一下SQL中的`TRUNCATE`和`DELETE`两个关键字,它们都可以用于清空...

    SQL清空所有表

    假设有一个名为`Employees`的表,我们可以使用如下SQL语句来清空该表: ```sql TRUNCATE TABLE Employees; ``` 此命令会立即清空`Employees`表的所有行,并释放这些行所占用的空间。 ##### 2. 批量清空所有表 ...

    sql语句收集,常用数据库表操作语句

    - 当需要快速清空表中的所有数据时使用。 --- #### 24. 选择倒数第N条记录 **SQL语句**: ``` SELECT TOP 5 * FROM (SELECT TOP 15 * FROM 表 ORDER BY id ASC) TABLE ORDER BY id DESC ``` **说明**: - 这条...

    asp使用SQL语句的Delete命令删除数据库表中的一个记录[参照].pdf

    asp 使用 SQL 语句的 Delete 命令删除数据库表中的一个记录 在软件开发中,删除数据库表中的一个记录是非常常见的操作。今天,我们将学习使用 asp 和 SQL 语句来删除数据库表中的一个记录。 删除记录的查询语句 ...

    DB2清空表里所有数据.doc

    当需要对 DB2 表进行操作,比如清空其中的所有数据时,有几种不同的 SQL 语句可以实现这一目标。以下是对标题和描述中涉及的知识点的详细解释: 1. **DELETE 语句**: DELETE 语句是最常见的删除表中数据的方法。...

    使用SQL语句更新数据表

    本篇将详细介绍如何使用SQL语句来更新数据表,并提供一些实践示例。 一、SQL UPDATE语句基本语法 SQL的UPDATE语句用于修改已存在于数据表中的记录。其基本语法结构如下: ```sql UPDATE 表名 SET 列名 = 新值, ...

    自动生成清空数据库的SQL语句

    有时候需要把数据库中表记录都删除掉,为了方便我们有必要制作一个清空数据库的脚本, 这里主要是考虑存在外键约束,和标识列问题。 存在外键关系时候就要查询出,先要删除哪一张表,后要删除哪一张表, 当存在标识...

    一次性删除数据库所有表和所有存储过程 SQL语句

    下面将详细介绍如何使用SQL语句一次性删除数据库中的所有表和所有存储过程。 ### 1. 删除所有表 删除所有表可以通过遍历`sysobjects`表并获取所有类型为`U`的对象(表示用户定义的表),然后构建`DROP TABLE`语句...

    sql删除数据库所有表

    sql语句删除清空一个数据中,所有表结构表数据,请谨慎操作

    Oracle数据库sql语句的基本操作详解

    TRUNCATE是DDL操作,直接删除表的所有数据而不记录回滚信息,因此速度快且资源消耗低,但仅适用于全表清空。 频繁使用COMMIT可以优化事务管理,释放回滚段、锁和重做日志缓冲区的资源,提高程序性能和资源利用效率...

    Windows计划任务配置定期执行SQL脚本对数据库数据自动导出删除及压缩

    在IT领域,尤其是在数据库管理和自动化运维中,"Windows计划任务配置定期执行SQL脚本对数据库数据自动导出删除及压缩"是一项重要的技能。这涉及到Windows操作系统中的任务调度器(Task Scheduler)以及SQL语言的运用...

    一次性清空数据表sql

    标签“清空数据表SQL”直接指出了本文关注的核心主题:如何使用SQL语句来清空数据表。这个标签简洁明了地概括了文章的主题,有助于读者快速理解文章内容。 ### 部分内容解析 #### 方法一:构建并执行动态SQL语句 ...

    清空sql数据库日志文件

    使用`DUMP TRANSACTION`命令可以清空数据库的事务日志,但并不会减少日志文件的实际大小。该命令语法如下: ```sql DUMP TRANSACTION [ database_name ] WITH NO_LOG ``` 这里的`database_name`是需要清空...

    数据库sql语句使用

    - 清空表(删除所有数据但保留表结构): ```sql TRUNCATE TABLE 表名; ``` 9. **查询数据(Select)** - 查询所有列: ```sql SELECT * FROM 表名; ``` - 查询部分列: ```sql SELECT Name, Password, ...

Global site tag (gtag.js) - Google Analytics