日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → sql語(yǔ)句中----刪除表數(shù)據(jù)drop、truncate和delete的用法

      sql語(yǔ)句中----刪除表數(shù)據(jù)drop、truncate和delete的用法

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2014/8/31 2:53:19字體大。A-A+

      作者:西西點(diǎn)擊:54970次評(píng)論:0次標(biāo)簽: 刪除表

      雖然西西不建議大家去用命令刪除數(shù)據(jù)庫(kù)表中的東西,但是這些刪除命令總有用的著的地方。

      說(shuō)到刪除表數(shù)據(jù)的關(guān)鍵字,大家記得最多的可能就是delete了

      然而我們做數(shù)據(jù)庫(kù)開(kāi)發(fā),讀取數(shù)據(jù)庫(kù)數(shù)據(jù).對(duì)另外的兩兄弟用得就比較少了

      現(xiàn)在來(lái)介紹另外兩個(gè)兄弟,都是刪除表數(shù)據(jù)的,其實(shí)也是很容易理解的

      老大------drop

      出沒(méi)場(chǎng)合:drop table  tb --tb表示數(shù)據(jù)表的名字,下同

      絕招:刪除內(nèi)容和定義,釋放空間。簡(jiǎn)單來(lái)說(shuō)就是把整個(gè)表去掉.以后要新增數(shù)據(jù)是不可能的,除非新增一個(gè)表,

             例如:一個(gè)班就是一個(gè)表,學(xué)生就是表中的數(shù)據(jù),學(xué)生的職務(wù)就是定義

             drop table class,就是把整個(gè)班移除.學(xué)生和職務(wù)都消失

      比如下面TestSchool數(shù)據(jù)庫(kù)中有兩張表[Classes]表和[Teacher]表

      當(dāng)執(zhí)行下面代碼之后

      Classes表就被清楚,一干二凈! 刪除得非常暴力,作為老大實(shí)至名歸

      老二-----truncate

      出沒(méi)場(chǎng)合:truncate table tb

      絕招:刪除內(nèi)容、釋放空間但不刪除定義。與drop不同的是,他只是清空表數(shù)據(jù)而已,他比較溫柔.

             同樣也是一個(gè)班,他只去除所有的學(xué)生.班還在,職務(wù)還在,如果有新增的學(xué)生可以進(jìn)去,也可以分配上職務(wù)

      刪除內(nèi)容很容易理解,不刪除定義也很容易理解,就是保留表的數(shù)據(jù)結(jié)構(gòu)

      上圖就表現(xiàn)了:刪除內(nèi)容

      執(zhí)行語(yǔ)句之后,發(fā)現(xiàn)數(shù)據(jù)表的結(jié)構(gòu)還在,也就是不刪除定義

      至于釋放空間,看下下面兩幅圖.你們就會(huì)明白的

      右圖:Id列標(biāo)識(shí)列,因之前delete過(guò)行數(shù)據(jù),所以會(huì)出現(xiàn)標(biāo)識(shí)列不連續(xù)(體現(xiàn)了delete刪除是不釋放空間的)

      經(jīng)過(guò)truncate table Teacher 之后 再新增三條數(shù)據(jù)

      右圖:同樣Id是標(biāo)識(shí)列,發(fā)現(xiàn)插入數(shù)據(jù)的時(shí)候,標(biāo)識(shí)列連續(xù)了(體現(xiàn)了truncate刪除是釋放空間)

      注意:truncate 不能刪除行數(shù)據(jù),要?jiǎng)h就要把表清空

      老三-----delete

      出沒(méi)場(chǎng)合:delete table tb   --雖然也是刪除整個(gè)表的數(shù)據(jù),但是過(guò)程是痛苦的(系統(tǒng)一行一行地刪,效率較truncate低)

                  或

                  delete table tb where 條件

      絕招:刪除內(nèi)容不刪除定義,不釋放空間。三兄弟之中最容易欺負(fù)的一個(gè)

      然后關(guān)于delete的就不詳細(xì)說(shuō)明了,大家都懂的

      關(guān)于truncate的小小總結(jié):

      truncate table 在功能上與不帶 WHERE 子句的 delete語(yǔ)句相同:二者均刪除表中的全部行。

      但 truncate 比 delete速度快,且使用的系統(tǒng)和事務(wù)日志資源少。

      delete 語(yǔ)句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項(xiàng)。所以可以對(duì)delete操作進(jìn)行roll back

      1、truncate 在各種表上無(wú)論是大的還是小的都非常快。如果有ROLLBACK命令Delete將被撤銷(xiāo),而 truncate 則不會(huì)被撤銷(xiāo)。 
      2、truncate 是一個(gè)DDL語(yǔ)言,向其他所有的DDL語(yǔ)言一樣,他將被隱式提交,不能對(duì) truncate 使用ROLLBACK命令。 
      3、truncate 將重新設(shè)置高水平線和所有的索引。在對(duì)整個(gè)表和索引進(jìn)行完全瀏覽時(shí),經(jīng)過(guò) truncate 操作后的表比Delete操作后的表要快得多。 
      4、truncate 不能觸發(fā)任何Delete觸發(fā)器。 
      5、當(dāng)表被清空后表和表的索引講重新設(shè)置成初始大小,而delete則不能。 
      6、不能清空父表


        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱(chēng):
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)