《mysql必知必会》里介绍drop table的时候有句话:删除表 但不删除其内容。
想问 
1. 表删除了,那表里的内容是存在哪里的?
2. 如果我又想恢复这个表了,怎么做才能恢复的和原来表以及里面的数据内容都一样呢?

解决方案 »

  1.   

    1 drop table当然删除表数据
    2 恢复不了 如果没备份的话
      

  2.   

    有删除表但不删除其数据的能力吗?
    我记得只有truncate是删除数据,但不删除表。
    LZ再确认下书上怎么说的
      

  3.   

    书里的原话是:删除表(删除整个表而不是其内容)非常简单,使用DROP TABLE语句即可。
      

  4.   

    估计是指在innodb存储引擎下,drop table虽然删除了表,但并不会释放表中数据所占的磁盘空间。
      

  5.   


    在innodb中,如果使用了drop table,数据仅仅是被标记为删除,而并非被从存储空间中真正删掉,即逻辑删除。如果是共享表空间,则该空间将一直被已被删除的数据占用而不会再被释放。
    如果是独立表空间,则该空间可以通过optimize table xxx 命令或alter table xxx engine = innodb来收回该空间。