1、数据库删除语句的分别介绍:

  • Delete:用于删除表中的行(注:可以删除某一行;也可以在不删除表的情况下(即意味着表的结构、属性、索引完整)删除所有行)

语法:删除某一行:Delete From 表名称  Where 列名称=值

删除所有行: Delete From 表名称       或     Delete *  From  表名称

  • Drop:用于删除表(注:将表的结构、属性、索引也会被删除。)

语法:Drop  Table 表名称

  • Truncate:用于删除表内的数据(注:仅删除表内的数据,不删除表本身,相当于Delete语句不写Where子句一样)

语法:Truncate Table  表名称

2、相同点:

1.truncate和不带where子句的delete,以及drop都能删除表内的数据
2.truncate和delete只删除表数据保留表结构

3、不同点:

1. truncate table tablename
删除表内容释放表空间保留表结构(即:只删除表内的数据,不删除表本身。相当于Delete语句不写where子句一样),不使用事务处理即和事务无关

2. delete table tablename [where子句]
delete属于数据操作语言(DML),不能自动提交事务,需commit提交
如果有相应的 trigger,执行的时候将被触发。
3. drop table tablename
drop属于数据定义语言(DDL)可以自动提交事务;
drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)【删除表数据同时删除表结构】;
drop 语句将表所占用的空间全部释放。

4、删除数据的速度

一般来说: drop> truncate > delete

5、使用场合:

当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a where clause), 用 delete.

6、注意:

对于有主外键关系的表,不能使用truncate而应该使用不带where子句的delete语句,由于truncate不记录在日志中,不能够激活触发器

转载于:https://www.cnblogs.com/charon2/p/11326896.html

数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(举例说明)相关推荐

  1. 转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别

    相同点,使用drop delete truncate 都会删除表中的内容 drop table 表名 delete from 表名(后面不跟where语句,则也删除表中所有的数据) truncate ...

  2. Mongodb数据库中修改器$push和$addToSet的相同点和不同点

    Mongodb数据库中修改器$push和$addToSet的相同点和不同点 对于Mongodb数据库而言,数据的修改会牵扯到内容的变更,结构的变更(数组的变更),所以Mongodb数据库设计的时候就提 ...

  3. sql语句中删除表 drop、truncate和delete的用法

    truncate与delete 使用上区别 ? truncate 删除记录后不可恢复的,不受事务管理,原理:先删除整个表,重新创建 delete 可以被事务管理 ,在事务中删除数据可以回滚恢复,原理: ...

  4. 数据库中删除数据常用命令-truncate、drop、delete

    数据库的DDL与DML含义与区别 DDL:操作数据库.表.列等(指对这些对象进行操作),使用的关键字:CREATE.ALTER.DROP. DML:是对表中的数据进行增.删.改的操作,使用的关键字:I ...

  5. Mysql中删除语句delete、truncate、drop的区别

    Mysql中删除语句delete.truncate.drop的区别 1.DROP: 用法: DROP TABLE 表名 DDL语句,删除数据和表结构,释放空间资源.注意:操作不放到rollback s ...

  6. T-SQL中删除语句区别 - 转自: 搜搜问问

    T-SQL中删除语句区别 [ 标签:sql,语句 ] delete from和truncate table 他们的相同点是什么 不同点又是什么?? 多用在什么地方?? ================ ...

  7. N叉树、page_size、数据库严格模式修改、数据库中delect和drop的不同

    "N叉树"的N值在MySQL中是可以被人工调整吗? 其中有两种方法调整: 1.通过改变key值来调整 N 叉树中非叶子节点存放的是索引信息,索引包含 Key 和 Point 指针. ...

  8. SQL2000数据库中删除“坏表”的方法

    SQL2000数据库中删除"坏表"的方法 在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在SQL Server 2000中造成一个异常问题:在企业管理器中打开数据库发 ...

  9. 在 MySQL 数据库中删除重复记录的步骤

    在 MySQL 数据库中删除重复记录的步骤 当我们在处理数据库中的数据时,有时候会出现重复记录的情况,这些重复记录会影响数据的正确性,需要将其删除.下面是在 MySQL 数据库中删除重复记录的步骤: ...

最新文章

  1. python数据趋势算法_Python数据拟合与广义线性回归算法学习
  2. hdu2846 字典树(带id的)
  3. Spring MVC文件上传
  4. php input多选,利用css3更改input单选和多选样式的方法
  5. 删除数据库中所有存储过程和函数的sql语句
  6. 如何使用Retrofit,OkHttp,Gson,Glide和Coroutines处理RESTful Web服务
  7. python读json文件中不同的数据类型_怎么使用python提取json文件中的字段
  8. 从容器到微服务,技术架构、网络和生态详解
  9. 利用uiautomator2刷金币
  10. Python爬虫教程:验证码的爬取和识别详解
  11. java哈喽word,JavaWeb之HelloWord
  12. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )...
  13. gd公文文件转换成pdf格式
  14. java 方法(函数)详解
  15. 解决 Win11 资源管理器卡顿
  16. MogDB官网正式亮相!单机256万tpmC再创佳绩
  17. 毕业论文速成指南来了!
  18. python中oserror_[python] 解决OSError:
  19. 虚拟主机好还是云服务器,虚拟主机好还是云服务器
  20. 函数式编程(一):概念及特点

热门文章

  1. java多线程遇到的问题_关于Java多线程遇到的问题.
  2. 睡袋放置_第一次露营要带上什么?帐篷、睡袋怎么挑、怎么买?新手入门攻略...
  3. keras 多层lstm_《Keras 实现 LSTM》笔记
  4. linux 脚本 获取当前目录,Linux下获取脚本当前工作目录的一点感触
  5. mysql5.6 忘记root密码后,如何找回密码?
  6. 【uni-app】自定义导航栏/标题栏
  7. nginx http proxy 反向代理
  8. 【maven】改造已有项目
  9. 上顿号符号_标点符号常见错误,读后涨知识了
  10. php获取今天是几号,php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳以及当月共有多少天...