SQL语句中----删除表数据drop、truncate和delete的用法

一、SQL中的语法

1、drop table 表名称                         eg: drop table  dbo.Sys_Test
   2、truncate table 表名称                     eg: truncate  table dbo.Sys_Test                  
   3、delete from 表名称 where 列名称 = 值      eg: delete from dbo.Sys_Test where test='test'

二、drop,truncate,delete区别

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。

drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。

注意:truncate 不能删除行数据,要删就要把表清空。

3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存

以便进行进行回滚操作。

truncate与不带where的delete :只删除数据,而不删除表的结构(定义)

4、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。

如果要删除表定义及其数据,请使用 drop table 语句。  
    5、对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。

6、执行速度,一般来说: drop> truncate > delete。

7、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。

truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。

每天学一点 mysql相关推荐

  1. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践

    学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...

  2. 学一点django基础

    学一点Django基础 目录 文章目录 目录 一.Django框架的介绍 Django的安装 Django框架开发 创建项目的指令 Django项目的目录结构 URL 介绍 视图函数(view) Dj ...

  3. 学一点SQL注入基础

    文章目录 学一点SQL注入基础 思维导图 注入原理 MySQL三种注释 MySQL三种注入方式 联合查询注入 确定字段数 常规步骤 sqlmap的使用 跨库注入 MySQL注入获取最高权限-文件操作 ...

  4. 学一点Redis基础

    文章目录 学一点Redis基础 **Redis介绍** **安装** **配置文件详解** **数据类型** **字符串类型(string)** **==位图操作bitmap==** **列表数据类型 ...

  5. 大学生学python到底有没有有-为什么我会想建议每个大学生都学一点编程?

    原标题:为什么我会想建议每个大学生都学一点编程? 一个今年上岸.成功录取到中山大学的同学,昨天疯狂轰炸我: 他没想到导师主动联系他,让他参加非常重要的课题研究. "当初抱着试一试的心态学的编 ...

  6. 人人都要学一点深度学习(1)- 为什么我们需要它

    人人都要学一点深度学习(1)- 为什么我们需要它 版权声明 本文由@leftnoteasy发布于 http://leftnoteasy.cnblogs.com, 如需全文转载或有其他问题请联系whee ...

  7. 串行异步通信_每天学一点/ 电工:PLC:串行通信

    每天学一点/ 电工案例:西门子PLC STEP7-SMARTPLC:串行通信 1. 并行通信与串行通信 并行通信以字节或字为单位传输数据,已很少使用.串行通信每次只传送二进制数的一位,最少需要两根线就 ...

  8. 【Arcgis每天学一点】从无人机航测的DSM上提取准确的高程点

    最近,想着要分享一些Arcgis软件的使用心得,但却一直无从入手,不知道写点什么.实际上在各大平台上已经有了大量的Arcgis教程,不管对于初学者,还是有点基础想要进阶的,都可以找到很多的学习资源. ...

  9. 电脑文件夹可以分屏的软件_「原创文」窗口快速分屏,文件对比复制高效不止一点|每天学一点...

    - 原创声明,侵权必究 - 有没有这种情况,你需要频繁从一个文档中复制文字,然后粘贴到网页中. 又或者两篇文档,你需要复制或者对比 又或者,两个文件夹中对文件进行检查或者对比 这种时候,大家经常频繁的 ...

  10. 每天学一点,一年有小成

    @写在CSDN会员纪念日 每天学习一点点 做为一个写了20年的代码员,现在看来,我是成长的.进步的.1998年大学华业,同年用foxbase编写了第一个交付使用应用.要知道486时代,1.44M的一张 ...

最新文章

  1. 用Java语言编写ajax设计模式_使用JavaScript发布订阅设计模式实现Ajax请求节流
  2. python3安装步骤mac-Mac 上安装python3——手把手教程
  3. Wiki系统分析比较
  4. 设计模式理解:策略模式
  5. 平面点集的最小包围圆 hdu 3932
  6. SAP Spartacus产品数据HTTP GET请求前的OPTIONS请求
  7. 苹果公布AirPods Pro维修费用:705元买一只,789买充电盒
  8. Kubernetes核心技术--Pod,Label,Volume,Service,Deployment详解
  9. Java 操作 HBase 教程
  10. 【安天】Xcode非官方版本恶意代码污染事件(XcodeGhost)的分析与综述
  11. Layui官网文档备份, Layui文档站点,LayuiAdmin
  12. 物联网芯片的协议之Lora及其调制
  13. visual assist x 2406 和 2435,2443 原版安装下载,只要一分
  14. 干燥环境对电子器件的影响
  15. 层次分析法(AHP)原理以及应用
  16. wow3.13大脚插件
  17. Bouncy Castle Java 平台轻量级密码术包
  18. html班级管理,谈小学班级管理
  19. Java相同类型的两个对象比较属性值,得到不同属性的名称和对应的值,附代码实例
  20. 【Python 日志】

热门文章

  1. 计算机里的文案怎么设置背景,如何将图片设置为Word文档的背景
  2. 绘制IRB1200机器人工作空间
  3. drupal 8 php filter,Drupal 7 与 Drupal 8 的一些变化
  4. mysql+tinyint+符号_mysql中TINYINT的取值范围
  5. duck typing
  6. Domain Adaptation 简介
  7. 再轰冯导,和科研人员比你只是个奢靡的戏子
  8. 重装系统后计算机无法启动,重装系统后电脑为什么启动不了?云骑士告诉你怎么办?...
  9. linux 反垃圾邮件网关,反垃圾邮件神器--开源邮件网关ScrolloutF1之二--基本配置
  10. 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)