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

  • 相关阅读:
    PHP 抽象类
    PHP使用rabbitmq发邮件简单使用
    自定义Chrome插件Vimium
    用Paint Tool SAI绘制漫画
    AutoHotkey 使用笔记
    Unity 性能
    VS2015解决非Unicode编码包含中文字段无法编译的问题
    高DPI设置时禁用显示的方法
    Excel 统计在某个区间内数值的个数
    自定义宏把Word打造成全快捷键编辑器
  • 原文地址:https://www.cnblogs.com/zhaijing/p/7878407.html
Copyright © 2011-2022 走看看