關(guān)于SQL表中drop table和delete table的區(qū)別
問題:使用阿里云的maxcompute產(chǎn)品發(fā)現(xiàn)有中間表的產(chǎn)生,需要刪除。 刪表是一個比較危險的操作,這次給了個機會就想嘗試下,記得在mysql表中有兩種操作,drop與delete,但是在maxcompute產(chǎn)品中嘗試時,該產(chǎn)品只支持drop操作。這里說下二者操作的區(qū)別。 stackoverflow上的解釋:
上述問題大意是在sql2008版本中,drop操作和delete操作二者會產(chǎn)生相同的結(jié)果嗎?delete是一個粗暴的操作嗎?
答案:
* drop
操作會刪除所有的數(shù)據(jù)以及表結(jié)構(gòu) * delete
操作會刪除數(shù)據(jù),但會保留表結(jié)構(gòu),并且在之后需要時可以回滾數(shù)據(jù)。此外,delete
操作還可以加一些其它的where
條件,比如刪除確定的記錄。
總結(jié): * delete
操作比drop
操作稍微不徹底點,當錯誤刪除后有挽回的余地。
到此這篇關(guān)于sql表中drop table和delete table的區(qū)別的文章就介紹到這了,更多相關(guān)sql表drop table和delete table的區(qū)別內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
