好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MSSQL清空数据库所有表

要在Microsoft SQL Server中清空所有表,您可以使用以下步骤:

查询系统视图以获取所有用户表的名称。

对于每个表,执行一个TRUNCATE TABLE语句来清空它。

以下是一个SQL脚本示例,该脚本将清空当前数据库中的所有用户表:

DECLARE @tableName nvarchar(128);

DECLARE cur CURSOR FOR

SELECT name FROM sys.tables WHERE type = 'U';

 OPEN cur;

 FETCH NEXT FROM cur INTO @tableName;

 WHILE @@FETCH_STATUS = 0

BEGIN

    EXEC('TRUNCATE TABLE ' + @tableName);

    FETCH NEXT FROM cur INTO @tableName;

END

 CLOSE cur;

DEALLOCATE cur;

请注意,TRUNCATE TABLE语句不会删除表本身,仅清空其内容。如果您还想删除表,可以使用DELETE FROM语句替代TRUNCATE TABLE,但这可能会比较慢,因为它会逐行删除表中的数据。

如果您想删除数据库中的所有表,并且数据库内没有其他对象(如视图、存储过程等),您可以考虑简单地删除数据库然后重新创建它。这将是一个快速的方式来清空所有数据,但请谨慎使用,因为这将删除所有数据和对象。


查看更多关于MSSQL清空数据库所有表的详细内容...

  阅读:35次