綠色資源網:您身邊最放心的安(ān)全下載站! 最(zuì)新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網

技術教程
您的位置:首頁數據庫(kù)類SQL Server → sql語句中----刪除表數據drop、truncate和delete的用法

sql語句中----刪除表數據drop、truncate和delete的用法

我要評(píng)論 2014/08/31 14:59:51 來(lái)源:綠色資源網 編輯:www.ynaad.com [ ] 評論:0 點擊:320次

雖然綠色資源(yuán)網小編不建議大家去(qù)用命令刪除數據庫表中的東西,但是這些刪(shān)除命(mìng)令(lìng)總有用的著的地方(fāng)。

說到刪除表數據的關(guān)鍵字,大家(jiā)記(jì)得最(zuì)多的可(kě)能就是delete了(le)

然而我們做數據庫開發,讀取數據庫數據.對另外的兩兄弟用得就比較少了

現在(zài)來介紹另外兩個兄弟,都是刪除表數據的,其實也(yě)是很容易理解的

老大------drop

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

絕招:刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增數據是不可(kě)能的,除非新增(zēng)一個表,

       例如:一(yī)個班就是一個表,學生就(jiù)是表中(zhōng)的數據,學生的職務就是定義

       drop table class,就是(shì)把整個班移除.學生和職務都消失(shī)

比如(rú)下(xià)麵TestSchool數據庫中有(yǒu)兩張表[Classes]表和[Teacher]表(biǎo)

當執行下麵代碼之後

Classes表就被清楚,一幹二淨! 刪除得(dé)非(fēi)常暴力(lì),作為老(lǎo)大實(shí)至名歸

老二-----truncate

出沒場合:truncate table tb

絕招:刪除內容、釋放空間但不刪除定義。與drop不同(tóng)的是,他隻(zhī)是清(qīng)空表數據(jù)而(ér)已,他比較溫柔.

同樣也是一個班,他隻去除所有的學生.班還在,職務還在,如(rú)果有新增的學生可以進去,也可以分配上職務

刪除內(nèi)容很容易理解,不刪除(chú)定義也很容易理(lǐ)解,就是保留表的數據結構

上圖就(jiù)表現了:刪除內容

執行(háng)語句之後(hòu),發現數據表的結構還在(zài),也就是(shì)不刪除定義

至於釋(shì)放空間,看(kàn)下下麵(miàn)兩幅圖(tú).你們就會明白的

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

經過truncate table Teacher 之後(hòu) 再新增(zēng)三條數據

右圖:同樣Id是標識列,發現插入數據的時候,標識(shí)列(liè)連續了(體現了truncate刪除是釋(shì)放空間)

注意:truncate 不能刪除行數據,要刪(shān)就要把表清空

老三-----delete

出沒場合(hé):delete table tb   --雖然也是刪除整個表的數據,但是過程是痛苦的(係統一行一行地刪,效(xiào)率較(jiào)truncate低)
 

            或(huò)

            delete table tb where 條件

絕招(zhāo):刪除內容不刪除定義,不釋放空間。三兄(xiōng)弟之中最容易(yì)欺負(fù)的(de)一個

然(rán)後關於delete的就不詳細說明了,大家都懂的

關於truncate的(de)小小總結:

truncate table 在功能上(shàng)與(yǔ)不帶 WHERE 子句(jù)的 delete語句相同:二(èr)者(zhě)均刪除表中的全部行(háng)。

但 truncate 比 delete速度快,且使用的係統和事務日誌資源少。

delete 語句每次刪除一行,並在(zài)事務日(rì)誌中為所刪除的每(měi)行記錄一項。所以可以對delete操(cāo)作進行roll back

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

關鍵詞:sql語句

閱讀本文後您有什麽感想? 已有 人給(gěi)出評價!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡