zoukankan      html  css  js  c++  java
  • delete table 和 truncate table

    转载:http://www.cnblogs.com/herbert/archive/2010/07/06/1772135.html

    使用delete语句删除数据的一般语法格式:

    delete [from]

    {table_name、view_name}

    [where<search_condition>]

    将XS表中的所有行数据删除

    delete XS

    执行完后,发现XS表中的数据都删除了,但是表的结构什么都还在。

    truncate

    truncate table语句将删除指定表中所有数据,因此也称其为清除表数据语句,一般格式如下

    truncate table name

    由于truncate语句将删除表中的所有数据,且无法恢复,因此使用时必须十分小心。

    使用truncate table删除了指定表中的所有行,但表的结构及其列,约束,索引等保持不变,而新行标识所用的计数值重置为该列的初始值。如果想保留标识计数值,则要使用DELETE语句。

    TRUNCATE TABLE执行速度比DELETE块,且使用的系统和事务日志资源少。DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一项。而TRUNCATE TABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

    对于有外键约束引用的表,不能使用TRUNCATE TABLE删除数据,而应该使用布袋WHERE子句的DELETE语句。另外TRUNCATE TABLE也不能用于参与了索引视图的表。

  • 相关阅读:
    简单理解jQuery中$.getJSON、$.get、$.post、$.ajax用法
    适配器模式(Adapter Pattern)
    什么样的登录框才算是优秀的?
    transient的作用及序列化
    MySQL索引实现原理
    concurrentHashMap原理分析和总结(JDK1.8)
    HashMap实现原理(JDK1.8)
    深入理解Java中的IO
    多线程系列
    多线程系列
  • 原文地址:https://www.cnblogs.com/stono/p/4582366.html
Copyright © 2011-2022 走看看