truncatetable,truncate table和drop table

http://www.itjxue.com  2023-01-14 15:27  来源:未知  点击次数: 

truncate table语法是什么?

truncate的语法很简单,后面直接跟表名即可,例如:?truncate table tbl_name? 或者?truncate tbl_name?。

truncate的作用是清空表或者说是截断表,只能作用于表。执行truncate语句需要拥有表的drop权限,从逻辑上讲,truncate table类似于delete删除所有行的语句或drop table,然后再create table语句的组合。

为了实现高性能,它绕过了删除数据的DML方法,因此,它不能回滚。尽管truncate table与delete相似,但它被分类为DDL语句而不是DML语句。

功能

TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

truncate table 和delete * from的区别

truncate table 和delete * from的区别为:释放数据不同、清空标识不同、触发器不同。

一、释放数据不同

1、truncate table:truncate table?直接释放数据页,并且在事务日志中也只记录数据页的释放。

2、delete * from:delete * from?是一行一行地释放数据,在事务日志中要记录每一条记录的删除。

二、清空标识不同

1、truncate table:truncate table不仅是删除表里面的数据,而且还会清空表里面主键的标识。

2、delete * from:delete * from仅仅能删除数据,不能清空标识。

三、触发器不同

1、truncate table:truncate table不会激发触发器。

2、delete * from:delete * from会激发触发器。

sql truncate table 怎么用

1、考虑CUSTOMERS表具有以下记录:

2、以下是例子截断:

SQL TRUNCATE TABLE CUSTOMERS;

现在,CUSTOMERS表将被截断,并以下是来自SELECT语句的输出:

SQL SELECT * FROM CUSTOMERS;Empty set (0.00 sec).

一、补充:

1、SQL truncate table命令用于删除现有表中完整的数据。

2、您还可以使用DROP TABLE命令删除完整的表,但它会从数据库中删除完整的表结构并如果你愿意,你可再次存储一些数据重新写入到该表。

二、语法:

truncate table的基本语法如下:

TRUNCATE TABLE ?table_name.

(责任编辑:IT教学网)

更多

相关搜索营销文章