droptable drop和delete区别
一、drop删除的表可以恢复吗
情况1、如果你有该库的整体备份或对这个表的单独备份,那么也许可以恢复。可以将最新的备份恢复到一个备用的服务器上,导出那表的内容,完成恢复情况2、如果没有任何备份,那就基本没戏了。一般删除表的操作是droptable,日志中不会记录删除具体行数的记录。表所对应目录下的文件已经被删除(innodb独立表空间,单表归为一文件)。
同样的情况适用于myisam数据库引擎,对应的myd/myi/frm文件均被删除。
这不像windows还有垃圾箱,是不可逆的操作
二、drop和delete区别
drop和delete的区别如下:操作不同:drop是从系统中删除数据,而delete只是删除数据,不会影响表的结构。反操作不同:drop操作不能被撤销,而delete操作可以撤销。影响不同:drop会彻底删除数据,表结构以及约束等都会被删除,而delete只是删除数据,表结构等保持不变。语法不同:drop语句的语法为“DROPTABLEtable_name”,而delete语句的语法为“DELETEFROMtable_nameWHEREcondition”。总之,drop和delete虽然都是删除数据的操作,但在使用时需要根据具体情况选择合适的操作,同时也要注意备份数据以防止误操作导致数据丢失。
三、drop命令语法
在oracle中,drop命令用于删除表空间。其语法如下:
deletefromtablenamewhere条件
不带where+条件为全部删除等同于truncate,但执行效率比truncate慢。
truncate默认所有的表内容都删除,无法回退,删除速度比delete快。
droptable默认将表删除到回收站内,恢复语句为:flashbacktabletablenametobeforedrop;
彻底删除语句为:droptabletablenamepurge。