Truncate/Delete/Drop区别

一、用法与释义

1. DROP:
  • 用法:DROP TABLE 表名
  • DDL语句,删除内容和表定义,并释放空间。即删除数据和表结构。
2. TRUNCATE
  • 用法: TRUNCATE TABLE 表名
  • DDL语句,删除内容、释放空间,保留表结构。删除表数据,不能删除行数据。
3. DELETE
  • 用法: DELETE TABLE 表名 WHERE 条件
  • DML语句,同TRUNCATE类似,DELETE即可删除行也是删除整个表数据。

二、区别

1. 执行效率:
  • DROP > TRUNCATE > DELETE
  • DELETE执行过程是 每次从表中删除一行,并将该操作作为事务记录保存在日志,便于回滚操作。
2. 触发器和事务
  • DELETE支持事务和trigger

你可能感兴趣的:(Truncate/Delete/Drop区别)