sql删除注意的问题
老大骂你都是有原因的,基础要打好!!!!
SQL关于删除的三个语句:DROP、TRUNCATE、 DELETE 的区别。
DROP test;
删除表test,并释放空间,将test表删除的一干二净
TRUNCATE test;
删除test内容,并释放空间,但是表结构依然在,与drop的区别就是drop删除之后表结构也不复存在了,
--删除指定条件的数据 DELETE FROM test WHERE age=30 AND country='US'; --删除整个表 DELETE FROM test DELETE * FROM test
仅删除表test内的所有内容,保留表的定义,不释放空间,与TRUNCATE的区别是DELETE将删除的数据存储在系统回滚段中,假设你要同时删除两个表中的数据,在删除过程中出现一个表删除成功,另一个删除失败,这个时候就会出现错误数据,这个是很严重的问题,用delete好处是数据可以进行恢复,但是TRUNCATE却不能
速度:drop > truncate > delete
这里面尽量不要不要使用drop和truncate,否则就会上演程序猿从删库到跑路的戏剧性一幕
mysql中delete使用时不允许给表取别名!!!!!否则会报错,但是oracle可以