• 如何删除数据库表中的数据?


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

    第一种: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

  • 相关阅读:
    [网络流24题]飞行员配对方案问题
    学习笔记——线性基
    HDU 4507 吉哥系列故事——恨7不成妻(数位DP求平方和)
    bzoj1415&洛谷P4206 [NOI2005]聪聪与可可
    后缀自动机(模板+例题)
    最小表示法(模板)poj1059
    求次小生成树(洛谷P4180&bzoj1977)
    KMP poj3942
    最小表示法(模板) CH1807
    数位dp 求山峰数(hill)
  • 原文地址:https://www.cnblogs.com/zhaijing/p/7878407.html
Copyright © 2020-2023  润新知