今天又学到一招,可以快速删除数据库中所有的用户表中的数据。我是个菜鸟,望各位大神多多指教

select 'truncate table ' + Name + ';' from sysobjects where xtype='U' order by name asc;

该条语句执行之后会将数据库中所有的表都查询出来,复制出来之后执行truncate语句即可

sysobjects

在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。

列名 数据类型 描述
name sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。可以是下列对象类型中的一种:

C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程

uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_
ver
int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver
int 保留。仅限内部使用。
type char(2) 对象类型。可以是下列值之一:

C = CHECK 约束 
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束 
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束 
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表 
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程

userstat smallint 保留。
sysstat smallint 内部状态信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于发布、约束和标识。
cache smallint 保留。

truncate和不带where子句的delete, 以及drop都会删除表内的数据

不同点: 
1. truncate和 delete只删除数据不删除表的结构(定义) 
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态. 
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. 
   truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 
  显然drop语句将表所占用的空间全部释放 
  truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始). 
4.速度,一般来说: drop>; truncate >; delete 
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及 
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大. 
想删除表,当然用drop 
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete. 
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

转载于:https://www.cnblogs.com/zheyidetianshi/archive/2012/02/18/deletealltablefromonedatabase.html

快速删除数据库中所有表中的数据相关推荐

  1. oracle 表字段顺序_Oracle数据库如何修改表中字段顺序

    Oracle数据库如何修改表中字段顺序 发布时间:2020-07-09 15:53:15 来源:亿速云 阅读:166 本篇文章给大家分享的是有关Oracle数据库如何修改表中字段顺序,小编觉得挺实用的 ...

  2. mysql schema 保存数据_在MySQL中,所有触发器的定义都保存在information_schema数据库下的()表中。_学小易找答案...

    [单选题]如何将英制 的零件转为公制的零件 ( ). [判断题]连续选择边线创建倒角时,不能单独修改某一边线的倒角大小 [判断题]创建筋特征时截面必须是闭和的 [填空题]Hibernate 的会话接口 ...

  3. 如何从Oracle数据库中的表中获取列名(字段名)列表?

    如何从Oracle数据库中的表中获取列名(字段名)列表? 目录 如何从Oracle数据库中的表中获取列名(字段名)列表? #示例一 #示例二 示例三: #示例一 可以获取: table_name:表名 ...

  4. MySQL数据库在众多表中对表名的查询及预处理存储过程(变量做表名)

    以下的文章主要介绍的是MySQL数据库在众多表中进行表名与字段名的查询的实际操作步骤,以及对实现其查询所要用到的SQL 语句的介绍,还有两个实际解决方案的描述,以下就是文章的主要内容描述. 在MySQ ...

  5. mysql 批量替换 所有表_[收藏]批量替换一个数据库中所有表中所有记录

    /***********批量替换一个数据库中所有表中所有记录************/ declare @delStr nvarchar(500) set @delStr='这里是要替换的字符' /* ...

  6. 用ado把excel数据写入oracle,如何将excel表格数据导入到oracle数据库对应的表中?!oracle导出excel文件...

    如何把excel里的表导入到oracle里 使用第三方工具吧,toad之类的 一个excel表格中有多个sheet,如何将其导入oracle数据库 户和要用DBA 最简单得建用户: create us ...

  7. 记录一个删库跑路的技巧(如何快速删除数据库下面的所有表)

    如何快速删除数据库下面的所有表 先说sql语句,耐不住性子往下看的直接在数据库执行这个就可以~ 然后你会获得所有的删除sql语句 然后就是CV大法 把这两句(打个比方)执行一下~ 库就空了!你千万不要 ...

  8. mysql向表中插中文显示,针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决jav...

    针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决jav 针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决:java.sql.SQLException: Incorrect ...

  9. bs4主要知识点介绍及实例解析---利用bs4爬取伯乐在线(分别存储在数据库和xls表中)

    bs4主要知识点介绍及实例讲解 bs4 是第三方解析html数据的包 from bs4 import BeautifulSoup lxml 解析读取html的第三方解释器,解析速度快,底层通过c实现 ...

最新文章

  1. 几行代码完成动态图表绘制 | Python实战
  2. Quartz.Net实现作业定时调度详解
  3. 怎么用c语言表示大整数的四则运算,用c语言编写大整数的四则运算,求大神
  4. iOS - 实现语言本地化/国际化
  5. MVC日期格式化,后台使用Newtonsoft.Json序列化日期,前端使用”f”格式化日期
  6. 大学生眼中的对方,哈哈
  7. php mysql帮助类,基于PHP的MYSQL操作类
  8. 知识图谱组队学习Task02——项目介绍
  9. 【database】oracle触发器基础
  10. Objective-C中 copy, tetain, assign , readonly , readwrite, nonatomic区别
  11. oracle主要的动态视图与基表的对应关系
  12. clousx6机器人怎么导入词库_clousx6词库编程从零入门:3
  13. 系统防御工程v0.2
  14. 产品经理项目流程(四)——需求文档
  15. 人之最美,纯朴初心,有所不为
  16. 修改域名指向的服务器,让域名指向服务器
  17. 过拟合与欠拟合及解决方法
  18. 华为mate40计算机,华为Mate40兼容欧米多手机电脑,秒变笔电轻办公
  19. 移动硬盘提示磁盘结构损坏且无法读取怎么办
  20. Windows版Redis和Redis Desktop Manager安装

热门文章

  1. Thymeleaf select 使用 和多select 级联选择
  2. LINUX下用脚本实现JDK+TOMCAT
  3. 对寄存器ESP和EBP的一些理解
  4. sed命令的使用和说明
  5. [AX]AX2012开发新特性-全文索引
  6. 极详细的ECC讲解 -OOB与ECC
  7. 动态加载和静态加载及其编译步骤
  8. 学习笔记(46):Python实战编程-protocol
  9. php中等3秒再跳转,跳转和重定向
  10. aop在项目中的实际运用_mypy在实际项目中的应用