各位童鞋大家好,今天进行基础sql第四篇,delete。
delete是删数据语句,删除就没了。所以再执行此语句就得非常格外的小心了。否则,有些情况下dba都束手无策。
delete from mytable ;
delete from mytable where age = 22;
说到delete ,肯定有些童鞋会联想到 truncate.他也是个删除语法。他们之间的区别是 delete是dml语句,truncate为
ddl语句。truncate改变segment,last_ddl_time。执行他时候,他会隐式提交。并且不会产生大量的undo,redo日志.但是delete会产生undo,redo日志
所以在执行大数量表的删除操作时候,一般都会建议用truncate。也显而易见,truncate和delete的速度差别。
前面说到了insert,update,其实他们在执行时候都会产生undo,redo日志。undo可以理解为不要"un"操作。还原成原来的。术语就是
回滚操作。redo可以理解为重做"re"操作。重复执行一次。术语就是前滚操作。童鞋们可以这样去便于理解和记忆吧!再说到深处就讲到dba范畴的内容了。
本系列还是主要针对sql讲解吧。
delete语法还是很简单的,delete from tablename (where ...).其实sql的复杂点就是结合业务进行各种条件,关联表,函数并且要达到一定的性能
去完成一条条语句。所以sql入门简单,如果要掌握好并且在处理业务时候能够运用的游刃有余的话,那还是需要下一番功夫的。
好了,本篇先简单的介绍到这里吧。下一篇开始。就是咱们的sql的重头戏select了。从下篇开始,我会结合一些场景,函数,性能去分析一些比较复杂的
sql语句。希望能够帮助到需要帮助的童鞋。下篇见,继续咱们基础的sql之旅吧!
(不急,很快的)