1.当不用表时,应用drop

2.当您依然必须保存表,但要想删掉全部纪录时,请应用truncate。

3.当您要想删掉一些纪录(一直含有where子句)时,请应用delete。

Truncate是一种SQL英语的语法,能够迅速消除空数据分析表中的任何数据信息,并能够将记数重设为零,全自动增长再次测算字段名。

sql清空表数据语句-清空表内容sql的方法-第1张图片sql清空表数据语句-清空表内容sql的方法-第2张图片1.断开英语的语法。

[ { database_name。[ schema_name ]。|构架名字。} ]

表名

[ ;]

二,应用Truncate的常见问题。

1.TRUNCATE TABLE在功用上与没有WHERE子句的DELETE句子同样:两者都删除表中的全部行。殊不知,TRUNCATE TABLE比DELETE迅速,而且应用越来越少的操作系统和事务管理日志資源。

2.DELETE句子一次删掉一行,并在事务管理日志中为所有被删掉的行纪录一个内容。TRUNCATE TABLE通过释放出来用以储存表数据信息的数据信息页来删掉数据信息,而且只在事务管理日志中纪录此页的释放出来。

3.TRUNCATE TABLE删除表中的全部行,但表结构,列,管束和数据库索引维持不会改变。用以新行标志的计标值被重设为列的种籽。假如您想保存真实身份计标值,请改成DELETE。假如要删除表界定以及数据信息,请应用DROP TABLE句子。

4.针对外键约束引入的表,应当应用没有WHERE子句的DELETE句子,而不是TRUNCATE TABLE。TRUNCATE TABLE无法激活触发器原理,因为它沒有收录在日志中。

5.TRUNCATE TABLE不可以用以参加数据库索引主视图的表。

6.当向用TRUNCATE TABLE删掉的表中加上数据信息时,应当应用UPDATE STATISTICS来维护保养数据库索引信息内容。

7.如果有ROLLBACK句子,将撤消DELETE实际操作,但不容易撤消TRUNCATE。

不可以对下表应用TRUNCATE TABLE。

1.外键约束引入的表。(您能够断开具备引入本身的外键约束的表。)

2.参加数据库索引主视图的表。

3.应用事务管理拷贝或合拼拷贝已公布的表。

4.针对具备一个或好几个以上特点的表,请应用DELETE句子。

5.TRUNCATE TABLE无法激活触发器原理,由于此实际操作中并没有纪录每排的删掉。

第四,TRUNCATE,Drop和Delete的差别。

1.drop和delete只删除表的数据信息(界定),drop句子将删除表的构造,依靠管束,触发器原理和数据库索引;取决于该表的sql语句/涵数将保存,但越来越失效。

2.2.delete句子是DML语言表达,这一实际操作会放到rollback segement中,递交物品后才会起效;如果有相匹配的触发器原理,实行的时候会被开启。断开和删掉是DDL语言表达,实际操作后起效。原始记录不容易被回退,也没法回退。实际操作不容易开启。

3.3.delete句子不危害表占有的范畴,高水位线线维持不会改变。drop句子释放出来表占有的全部空。默认设置状况下,Truncate句子将空释放出来到minextents的水平,除非是应用器重储存。断开重设高水位线线(返回原来部位)。

4.高效率:删掉>断开>删掉。

5.安全系数:当心应用删掉和断开,尤其是在不准备的情形下。假如你要删掉一些数据信息,你需要带一个where子句。回退段应当充足大。假如要删掉该表,能够应用drop。假如你要保存这一表,你只必须删除表中的任何数据信息。假如和事儿不相干,可以用truncate。或是用delete,如果是整理表里边的残片,可以用truncate紧跟器重stroage,随后再导进插进数据信息。

6.delete是一个DML句子,不容易全自动递交。Drop/truncate是DDL句子,将在完成后全自动递交。

7.drop一般用以删掉详细的数据信息,如表,方式,数据库索引,主视图,一致性限定等。Delete用以删掉当地数据信息,如表中的元组。

8.DROP删除了表结构;删掉数据信息就可以了。

9.如果你不会再必须表时,应用drop;当您依然想保存该表但想删掉全部纪录时,请应用truncate;当您要想删掉一些纪录(一直含有WHERE子句)时,请应用delete。

评论(0条)

刀客源码 游客评论