sql语句删除库中所有表

 1 --/第1步**********删除所有表的外键约束*************************/
 2 use DCCalc_Engine
 3 GO
 4 DECLARE c1 cursor for
 5 select ‘alter table [‘+ object_name(parent_obj) + ‘] drop constraint [‘+name+‘]; ‘
 6 from sysobjects
 7 where xtype = ‘F‘
 8 open c1
 9 declare @c1 varchar(8000)
10 fetch next from c1 into @c1
11 while(@@fetch_status=0)
12 begin
13 exec(@c1)
14 fetch next from c1 into @c1
15 end
16 close c1
17 deallocate c1
18
19 --/第2步**********删除所有表*************************/
20
21 use DCCalc_Engine
22 GO
23 declare @sql varchar(8000)
24 while (select count(*) from sysobjects where type=‘U‘)>0
25 begin
26 SELECT @sql=‘drop table ‘ + name
27 FROM sysobjects
28 WHERE (type = ‘U‘)
29 ORDER BY ‘drop table ‘ + name
30 exec(@sql)
31 end
32 --/第2步**********删除所有存储过程*************************/
33 use 数据库
34 declare @tname varchar(8000)
35 set @tname=‘‘
36 select @tname=@tname + Name + ‘,‘ from sysobjects where xtype=‘P‘
37 select @tname=‘drop Procedure ‘ + left(@tname,len(@tname)-1)
38 exec(@tname)

原文地址:https://www.cnblogs.com/zhengrui/p/8302602.html

时间: 2024-10-10 21:02:50

sql语句删除库中所有表的相关文章

利用SQL语句重置数据库中所有表的标识列(自增量)

可以应用于2种场景: 1.清空所有表中的数据,数据清空后,最好是能够让表中的标识列从1开始记数,所以要重置标识列的当前值. 2.用复制的方式,发布订阅同步数据之后,订阅端的数据不会自动增长,比如自增ID该9527了,但如果中间有跳过的ID,会自动填充缺失的路过的ID,该执行如下代码,即可从应该的9527开始增长. declare @tablename varchar(50) declare @sql varchar(1000) declare cur cursor for select name

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

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

MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

查询所有数据库占用磁盘空间大小的SQL语句: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables group by TABLE_SCHEMA order by data_lengt

sql语句删除表所有记录

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

sql语句,怎么查看一个表中的所有约束

sql语句,怎么查看一个表中的所有约束,比如,一个student表,有唯一,外键,主键,用sql语句怎么查看student表中的所有约束呢? select * from sysobjects where parent_obj in(select id from sysobjects where name='student')

MySQL删除数据库中所有表方法

MySQL删除数据库中所有表方法技术 maybe yes 发表于2015-01-23 12:16 原文链接 : http://blog.lmlphp.com/archives/66  来自 : LMLPHP后院 通过使用 CONCAT 函数将数据库表名称和需要执行的 SQL 语句连接起来,输出在控制台:然后从控制台复制这些内容,粘贴,执行,OK.table_schema 条件为需要操作的数据库名称,参考 SQL 语句如下: SELECT CONCAT('DROP TABLE IF EXISTS 

SQL语句汇总(一)——数据库与表的操作以及创建约束

首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉. 前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句.SQL语句虽不能说很多,但稍有时间不写就容易出错.博主希望通过此文来战胜自己的健忘,如果大家认可也可以保留起来. "SQL"是 "Structured Query Language" 即“结构化查询语言”的简称,它是用来管理关系型数据库的. 其包括: –数据定义语言(DDL) –数据查询语言(DQL) –数据操作

Sql语句在SqlServer中创建数据库、表格并添加约束

通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: 1 -- 使用master数据库 2 use master 3 -- 创建数据库 4 create datebase [架构名.]数据库名 5 on [primary]--主文件数据描述 6 ( 7 name = '数据库逻辑名', --一般是数据库的名称 8 filename = '数据文件的名字',--全路径 9 size = 12mb, --数据文件

用SQL语句,删除掉重复项只保留一条

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 delete fr