MySQL:“DROP TABLE”是完全删除表还是只删除结构?

时间:2017-11-30 06:02:43

标签: mysql

我认为MySQL命令DROP TABLE User将删除数据,列和相关约束。但是,表shell仍然存在。这是对的吗?

4 个答案:

答案 0 :(得分:3)

使用DROP TABLE将删除整个表及其中包含的所有记录。如果要保留表结构但删除所有数据,请考虑使用TRUNCATE TABLE.通过删除整个表然后重新创建表来实现截断表。这比执行DELETE FROM yourTable更快,后者逐个删除记录。

答案 1 :(得分:2)

Drop Table之后,该表将不再存在,因此没有数据和表定义(您称之为' table shell'); TRUNCATE TABLE保留你的表定义并删除所有数据,并重置表自动增量,但是如果表大小很大,请注意TRUNCATE,它会扩展你的表空间而不容易收缩

答案 2 :(得分:0)

正如drop table上的mysql手册所说:

  

小心这句话!它删除表定义和所有表数据。

因此,在删除表之后,没有shell(无论应该是什么意思)。

答案 3 :(得分:0)