使用TRUNCATE命令和删除VS删除。截短

时间:2014-05-27 06:40:48

标签: mysql database

使用truncate命令删除MYSQL中表的单行truncate和delete之间的区别我们可以删除单行但是如何使用truncate删除单行?

5 个答案:

答案 0 :(得分:2)

你不能truncate一行。阅读mysql参考:

  

TRUNCATE [TABLE] tbl_name TRUNCATE TABLE完全清空表。   从MySQL 5.1.16开始,它需要DROP权限。 (在5.1.16之前,它   需要DELETE权限。

     

逻辑上,TRUNCATE TABLE相当于DELETE语句   删除所有行,但在某些行下存在实际差异   情况。

参考:

答案 1 :(得分:1)

如果要删除单个行,请使用“删除”命令。如果要清除整个表数据,可以使用“截断表”命令。

答案 2 :(得分:1)

为了您的知识,DELETE是一个DML命令。和TRUNCATE是一个DDL命令

答案 3 :(得分:1)

没有截断不能用于单行。它必须用于整个表格。

正确的工作/实际差异是:

  1. 使用删除命令结构表不会从数据库中清除。
  2. 您可以删除数据库的所有数据,但不能删除表的格式。保持稳定。
  3. 删除是DML命令。
  4. DELETE处理使用WHERE语句选择的行。它的使用是运行生产应用程序的一部分。例如,您可以删除超过一个月前已标记为“完成”的所有行。

  5. 截断删除/清除表本身的结构。它还清除将auto_increment设置为其初始值(默认为零)。

  6. Truncate是一个DDL命令
  7. TRUNCATE在保持表定义的同时快速删除表中的所有行。 (逐行DELETE可能需要一些时间,特别是对于包含大量键的表。)
  8. 对于诸如每周生产空白的日志表之类的东西,它会派上用场。
  9. 它具有重置索引和释放未使用的磁盘存储的便利副作用。我使用TRUNCATE消除了曾经包含数百万行的日志表的内容,以切换到一个操作规程,例如它只包含一周的行。

答案 4 :(得分:1)

TRUNCATE会从表中删除所有行。

  1. DELETE 语句删除表行并返回已删除的行数。我们可以使用DELETE命令从表中删除选定的no记录。

  2. TRUNCATE 删除表格并重新创建。它比逐个删除行快得多。 一旦你使用TRUNCATE命令,你就无法再从表中检索数据。TRUNCATE removes all the rows from the Table.

  3. 删除 - 删除数据和结构。

  4. DROP和DELETE表之间的区别在于,在执行DELETE语句后,表的内容被删除但结构保持不变,但是在DROP语句的情况下,内容和结构都被删除。