zoukankan      html  css  js  c++  java
  • sql语句中----删除表数据drop、truncate和delete的用法

    说到删除表数据的关键字,大家记得最多的可能就是delete了

    然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了

    现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的

    老大------drop

    出没场合:drop table  tb --tb表示数据表的名字,下同

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

           例如:一个班就是一个表,学生就是表中的数据,学生的职务就是定义

           drop table class,就是把整个班移除.学生和职务都消失

    比如下面TestSchool数据库中有两张表[Classes]表和[Teacher]表

    当执行下面代码之后

    Classes表就被清楚,一干二净! 删除得非常暴力,作为老大实至名归

    老二-----truncate

    出没场合:truncate table tb

    绝招:删除内容、释放空间但不删除定义。与drop不同的是,他只是清空表数据而已,他比较温柔.

           同样也是一个班,他只去除所有的学生.班还在,职务还在,如果有新增的学生可以进去,也可以分配上职务

    删除内容很容易理解,不删除定义也很容易理解,就是保留表的数据结构

    上图就表现了:删除内容

    执行语句之后,发现数据表的结构还在,也就是不删除定义

    至于释放空间,看下下面两幅图.你们就会明白的

    右图:Id列标识列,因之前delete过行数据,所以会出现标识列不连续(体现了delete删除是不释放空间的)

    经过truncate table Teacher 之后 再新增三条数据

    右图:同样Id是标识列,发现插入数据的时候,标识列连续了(体现了truncate删除是释放空间)

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

    老三-----delete

    出没场合:delete table tb   --虽然也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)

                或

                delete table tb where 条件

    绝招:删除内容不删除定义,不释放空间。三兄弟之中最容易欺负的一个

    然后关于delete的就不详细说明了,大家都懂的

    关于truncate的小小总结:

    truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。

    但 truncate 比 delete速度快,且使用的系统和事务日志资源少。

    delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。所以可以对delete操作进行roll back

    1、truncate 在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而 truncate 则不会被撤销。
    2、truncate 是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对 truncate 使用ROLLBACK命令。
    3、truncate 将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过 truncate 操作后的表比Delete操作后的表要快得多。
    4、truncate 不能触发任何Delete触发器。
    5、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
    6、不能清空父表

  • 相关阅读:
    flash中网页跳转总结
    as3自定义事件
    mouseChildren启示
    flash拖动条移出flash无法拖动
    需要一个策略文件,但在加载此媒体时未设置checkPolicyFile标志
    Teach Yourself SQL in 10 Minutes
    电子书本地转换软件 Calibre
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes – Page 31 练习
  • 原文地址:https://www.cnblogs.com/shamojituan/p/4381033.html
Copyright © 2011-2022 走看看