sql - 批量删除表

  今天帮朋友做点数据,其中因为原始数据的第一步处理需求变了,所以基本上过程中,除了原始数据,其他所有表都没有用了,但是sql Server又不允许同时选多个表进行删除操作.

  我的需求是,除了表t_init之外,都要删除,sql 代码为:

/****** Script for SelectTopNRows command from SSMS  ******/
use RainFactor;
    DECLARE @Table NVARCHAR(30)
    DECLARE tmpCur CURSOR FOR
    SELECT name FROM sys.objects WHERE TYPE=‘U‘ AND name not LIKE N‘t_init%‘
    OPEN tmpCur
    FETCH NEXT FROM tmpCur INTO @Table  

    WHILE @@FETCH_STATUS = 0
    BEGIN
        DECLARE @sql VARCHAR(100)
        SELECT @sql = ‘drop table ‘ + @Table
        EXEC(@sql)
        FETCH NEXT FROM tmpCur INTO @Table
    END
    CLOSE tmpCur
    DEALLOCATE tmpCur
时间: 2024-10-12 23:08:17

sql - 批量删除表的相关文章

sql语句删除表所有记录

方法一: DELETE 语句要记录对每行的删除操作. 不会把数据完全删除,只是标注起来. delete from tablename where 1=1 方法二: TRUNCATE TABLE 语句是一种快速.无日志记录的方法; 只记录整个数据页的释放. Truncate Table tablename sql语句删除表所有记录,布布扣,bubuko.com

SQL语句删除表中所有记录的方法

如何用一条sql语句删除表中的所有记录,这里分享下我的方法.参考链接: sql语句如何删除重复记录?四种方法 sql语句如何删除重复记录?教程详解 TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作. 语法TRUNCATE TABLE name 参数name 是要截断的表的名称或要删除其全部行的表的名称. 注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度

sql数据库删除表的外键约束(INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。该冲突发生于数据库"XXX",表"XXX", column 'XXX)

使用如下SQL语句查询出表中外键约束名称: 1 select name 2 from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 3 where f.parent_object_id=object_id('表名') 执行如下SQL语句删除即可. 1 alter table 表名 drop constraint 外键约束名 sql数据库删除表的外键约束(INSERT 语句与 F

SQL批量插入表类 SqlBulkInsert

ado.net已经有了sqlBulkCopy, 但是那个用xml格式,网络传输数据量太大. 自己实现了一个,传输尽量少的字节. 性能没对比过,有需要的自己拿去测试. 1 using System.Data.SqlClient; 2 3 namespace RaywindStudio.DAL { 4 5 /// <summary> 6 /// MSSQL批量插入表 7 /// </summary> 8 public static class SqlBulkInsert { 9 10

SQL Server删除表信息的三种方法

1.使用DELETE实现SQL Server删除表信息 (1)删除表中的全部信息 USE student GO DELETE student      --不加where条件,删除表中的所有记录 go (2)删除表中符合条件的记录 USE student GO DELETE student where Id='001'    --删除表中符合条件的记录 GO 2.使用TRUNCATE删除表中的信息 USE student GO TRUNCATE TABLE    student   --删除表中

SQL批量删除用户表(先删除所有外键约束,再删除所有表)

--批量删除用户表 --1.删除外键约束DECLARE c1 cursor for     select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; '    from sysobjects     where xtype = 'F'open c1declare @c1 varchar(8000)fetch next from c1 into @c1while(@@fetch_status=0

sql批量删除和添加

在这里主要介绍下Sql批量插入的用法,让我们先看下批量删除一般如何来做. 1.批量删除很简单,大家可能都用过: DELETE FROM TestTable WHERE ID IN (1, 3, 54, 68) --sql2005下运行通过 当用户在界面上不连续的选择多项进行删除时,该语句比循环调用多次删除或多条delete语句中间加分号一次调用等方法都高效的多. 2.批量插入的写法: 代码 sql写法: INSERT INTO TestTable SELECT 1, 'abc' UNION SE

SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

创建数据库: 1 CREATE DATABASE Test --要创建的数据库名称 2 ON PRIMARY 3 ( 4 --数据库文件的具体描述 5 NAME='Test_data', --主数据文件的逻辑名称 6 FILENAME='E:\project\Test_data.mdf', --主数据文件的物理名称 7 SIZE=5MB, --主数据文件的初始大小 8 MAXSIZE=100MB, --主数据文件的增长的最大值 9 FILEGROWTH=15% --主数据文件的增长率 10 )

MySQL根据正则表达式批量删除表

最近在维护一个wordpress商城项目,商城是多站的,会为独立的站创建出几张表.项目在测试服务器上,貌似是被爬虫恶意注册,产生了几千个用户,就产生了几万张表,导致数据库导入导出都像蜗牛一样,慢得要死,所以就只能上服务器执行SQL删除了,先暂时关闭了注册的功能,由于注册貌似没有验证的条件造成的,然后就写了几条SQL语句删除这几万张多余的表. 首先用SSH登录了服务器,登录mysql数据库: mysql -uroot -proot 注:-u 后面为你的数据库用户名    -p后面为你的数据库密码