zoukankan      html  css  js  c++  java
  • 如何删除数据库表中的数据?

    删除数据库表中数据有两种方式:

    第一种:delete from tablename where 1=1;

    第二种:truncate  table tablename;

    区别是:第二种清空表数据比较及时,能够很快地释放数据库表空间,而且不记录删除操作,自增字段还是从表建立的时候设置的初始值开始,

          第一种方式下数据库空间不一定能及时释放出来,而且如果有identity字段,之后再插入数据也不会从定义的初始值开始自增。

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

    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、不能清空父表

    注意:drop table tablename;是将表删除,包括表中的内容,表的定义,数据库表空间

    参考:http://www.cr173.com/html/40708_1.html

  • 相关阅读:
    SVN服务器搭建和使用(二)
    Unity5自动命名Assetbundle并打包
    Unity学习(六)5.x依赖打包
    Dota2技能系统设计分析
    android调用其他apk的activity
    Android 跨应用调用Activity
    Unity5的AssetBundle的一点使用心得
    Myeclipse快捷键集合
    我的CSS命名规则
    常用的 Windows 键
  • 原文地址:https://www.cnblogs.com/zhaijing/p/7878407.html
Copyright © 2011-2022 走看看