SQL关于删除的三个语句:DROP、TRUNCATE、 DELETE 的区别。
DROP:
DROP test;
删除表test,并释放空间,将test删除的一干二净。
TRUNCATE:
TRUNCATE test;
删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。
DELETE:
1、删除指定数据
删除表test中年龄等于15的且cm为US的数据
DELETE FROM test WHERE age=15 AND cm='US';
2、删除整个表
仅删除表test内的所有内容,保留表的定义,不释放空间。
DELETE FROM test 或DELETEDELETE * FROM test;
相同点:drop、delete、truncate 都是删除表的内容。
不同点: delete:删除表的内容,表的结构还存在,不释放空间,可以回滚恢复;
drop:删除表内容和结构,释放空间,没有备份表之前要慎用;
truncate:删除表的内容,表的结构存在,可以释放空间,没有备份表之前要慎用!!!
执行速度:drop > truncate > delete