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