国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MySQL數據庫:drop、truncate和delete的區別

如意 ? 來源:CSDN ? 作者:海盜船長沒有船 ? 2020-08-19 17:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、delete

delete是DML(data maintain Language,這個操作會被放到 rollback segment中,事務提交后才生效),執行delete操作時,每次從表中刪除一行,并且同時將該行的的刪除操作記錄在redo和undo表空間中以便進行回滾(rollback)和重做操作,但要注意表空間要足夠大,需要手動提交(commit)操作才能生效,可以通過rollback撤消操作。

delete可根據條件刪除表中滿足條件的數據,如果不指定where子句,那么刪除表中所有記錄。

delete語句不影響表所占用的extent,高水線(high watermark)保持原位置不變。

二、truncate

truncate是DDL,會隱式提交,所以,不能回滾,不會觸發觸發器。

truncate會刪除表中所有記錄,并且將重新設置高水線和所有的索引,缺省情況下將空間釋放到minextents個extent,除非使用reuse storage。不會記錄日志,所以執行速度很快,但不能通過rollback撤消操作(如果一不小心把一個表truncate掉,也是可以恢復的,只是不能通過rollback來恢復)。

對于外鍵(foreignkey )約束引用的表,不能使用 truncate table,而應使用不帶 where 子句的 delete 語句。

truncatetable不能用于參與了索引視圖的表。

三、drop

drop是DDL,會隱式提交,所以,不能回滾,不會觸發觸發器。

drop語句刪除表結構及所有數據,并將表所占用的空間全部釋放。

drop語句將刪除表的結構所依賴的約束,觸發器,索引,依賴于該表的存儲過程/函數將保留,但是變為invalid狀態。

總結:

1、在速度上,一般來說,drop》 truncate 》 delete。

2、在使用drop和truncate時一定要注意,雖然可以恢復,但為了減少麻煩,還是要慎用。

3、如果想刪除部分數據用delete,注意帶上where子句,回滾段要足夠大;

如果想刪除表,當然用drop;

如果想保留表而將所有數據刪除,如果和事務無關,用truncate即可;

如果和事務有關,或者想觸發trigger,還是用delete;

如果是整理表內部的碎片,可以用truncate跟上reuse stroage,再重新導入/插入數據。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    4020

    瀏覽量

    68373
  • 觸發器
    +關注

    關注

    14

    文章

    2056

    瀏覽量

    63418
  • MySQL
    +關注

    關注

    1

    文章

    907

    瀏覽量

    29567
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深度解讀MySQL數據庫備份恢復策略

    數據是企業的核心資產,數據庫備份是保障數據安全的最后一道防線。某天上午10點,運營人員誤執行了一條DELETE語句,刪除了訂單表中近一個月的數據
    的頭像 發表于 01-26 17:40 ?665次閱讀

    恒訊科技解析:如何安裝MySQL并創建數據庫

    安裝和管理MySQL不必復雜。只需幾分鐘,你就能在Linux服務器上搭建MySQL,創建第一個數據庫,甚至自動化備份——同時確保數據安全有序。 什么是
    的頭像 發表于 01-14 14:25 ?181次閱讀

    工業數據中臺支持接入MySQL數據庫

    工業數據中臺完全支持接入MySQL數據庫 ,且通過數據同步、集成與治理等技術手段,能夠充分發揮MySQL
    的頭像 發表于 12-04 11:23 ?384次閱讀
    工業<b class='flag-5'>數據</b>中臺支持接入<b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>嗎

    Mysql數據恢復—Windows Server下MySQL(InnoDB)全表誤刪數據恢復案例

    本地服務器,操作系統為windows server。服務器上部署mysql單實例,innodb引擎,獨立表空間。未進行數據庫備份,未開啟binlog。 人為誤操作使用Delete命令刪除數據
    的頭像 發表于 09-23 15:56 ?745次閱讀
    <b class='flag-5'>Mysql</b><b class='flag-5'>數據</b>恢復—Windows Server下<b class='flag-5'>MySQL</b>(InnoDB)全表誤刪<b class='flag-5'>數據</b>恢復案例

    mysql數據恢復—mysql數據庫表被truncate數據恢復案例

    某云ECS網站服務器,linux操作系統,部署了mysql數據庫。工作人員在執行數據庫版本更新測試時,錯誤地將本應在測試執行的sql腳本在生產
    的頭像 發表于 09-11 09:28 ?883次閱讀
    <b class='flag-5'>mysql</b><b class='flag-5'>數據</b>恢復—<b class='flag-5'>mysql</b><b class='flag-5'>數據庫</b>表被<b class='flag-5'>truncate</b>的<b class='flag-5'>數據</b>恢復案例

    數據庫數據恢復—服務器異常斷電導致Oracle數據庫故障的數據恢復案例

    Oracle數據庫故障: 某公司一臺服務器上部署Oracle數據庫。服務器意外斷電導致數據庫報錯,報錯內容為“system01.dbf需要更多的恢復來保持一致性”。該Oracle數據庫
    的頭像 發表于 07-24 11:12 ?655次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—服務器異常斷電導致Oracle<b class='flag-5'>數據庫</b>故障的<b class='flag-5'>數據</b>恢復案例

    企業級MySQL數據庫管理指南

    在當今數字化時代,MySQL作為全球最受歡迎的開源關系型數據庫,承載著企業核心業務數據的存儲與處理。作為數據庫管理員(DBA),掌握MySQL
    的頭像 發表于 07-09 09:50 ?736次閱讀

    遠程訪問內網MySQL數據庫?這個方案更簡單

    各位開發者朋友們,是否還在為無法隨時隨地訪問內網MySQL數據庫而煩惱?今天分享一個超實用的方法,通過容器部署 MySQL 結合 ZeroNews 內網穿透,讓你在任何地方都能安全訪問和管理
    的頭像 發表于 07-04 18:06 ?883次閱讀
    遠程訪問內網<b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>?這個方案更簡單

    數據庫數據恢復—MongoDB數據庫文件丟失的數據恢復案例

    MongoDB數據庫數據恢復環境: 一臺操作系統為Windows Server的虛擬機上部署MongoDB數據庫。 MongoDB數據庫故障: 工作人員在MongoDB服務仍
    的頭像 發表于 07-01 11:13 ?650次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—MongoDB<b class='flag-5'>數據庫</b>文件丟失的<b class='flag-5'>數據</b>恢復案例

    數據庫數據恢復—SQL Server數據庫被加密如何恢復數據

    SQL Server數據庫故障: SQL Server數據庫被加密,無法使用。 數據庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發表于 06-25 13:54 ?691次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>被加密如何恢復<b class='flag-5'>數據</b>?

    oracle數據恢復—oracle數據庫誤執行錯誤truncate命令如何恢復數據

    oracle數據庫誤執行truncate命令導致數據丟失是一種常見情況。通常情況下,oracle數據庫誤操作刪除數據只需要通過備份恢復
    的頭像 發表于 06-05 16:01 ?1149次閱讀
    oracle<b class='flag-5'>數據</b>恢復—oracle<b class='flag-5'>數據庫</b>誤執行錯誤<b class='flag-5'>truncate</b>命令如何恢復<b class='flag-5'>數據</b>?

    MySQL數據庫采集網關是什么?有什么功能?

    MySQL數據庫采集網關是一種用于連接、采集、處理并傳輸數據MySQL數據庫的中間設備或軟件系統,通常部署在
    的頭像 發表于 05-26 15:20 ?677次閱讀

    PLC數據中臺對接到MySQL數據庫并對接到生產看板

    生產任務的先后順序和時間節點,優化生產資源的配置,確保生產過程的高效運行。 對此,數之能提供PLC數據中臺對接到MySQL數據庫和生產看板的解決方案,助力企業實現提質增效與智能管控。其中PLC
    的頭像 發表于 05-26 11:20 ?546次閱讀
    PLC<b class='flag-5'>數據</b>中臺對接到<b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>并對接到生產看板

    MySQL數據庫是什么

    MySQL數據庫是一種 開源的關系型數據庫管理系統(RDBMS) ,由瑞典MySQL AB公司開發,后被Oracle公司收購。它通過結構化查詢語言(SQL)進行
    的頭像 發表于 05-23 09:18 ?1237次閱讀

    數據采集到MYSQL和SQLSERVER數據庫可以實現哪些功能

    將工業設備數據采集到MySQL和SQLServer數據庫后,可實現生產管理、設備運維、決策支持等多維度功能。對此,數之能提供多種工業設備數據采集到
    的頭像 發表于 05-07 15:32 ?593次閱讀