MySQL:drop、delete與truncate區別

一、用法不同

1、drop(丟棄數據): drop table 表名 ,直接將表都刪除掉,在刪除表的時候使用。

2、truncate (清空數據) : truncate table 表名 ,只刪除表中的數據,再插入數據的時候自增長 id 又從 1 開始,在清空表中數據的時候使用。

3、delete(刪除數據) : delete from 表名 where 列名=值,刪除某一行的數據,如果不加 where 子句和truncate table 表名作用類似。

truncate 和不帶 where 子句的 delete、以及 drop 都會刪除表內的數據,但是 truncate 和 delete 只刪除數據不刪除表的結構(定義),執行 drop 語句,此表的結構也會刪除,也就是執行 drop 之后對應的表不復存在。

二、屬于不同的數據庫語言

truncate 和 drop 屬于 DDL(數據定義語言)語句,操作立即生效,原數據不放到 rollback segment 中,不能回滾,操作不觸發 trigger。而 delete 語句是 DML (數據庫操作語言)語句,這個操作會放到 rollback segement 中,事務提交之后才生效。

DML 語句和 DDL 語句區別:
(1)DML 是數據庫操作語言(Data Manipulation Language)的縮寫,是指對數據庫中表記錄的操作,主要包括表記錄的插入(insert)、更新(update)、刪除(delete)和查詢(select),是開發人員日常使用最頻繁的操作。
(2)DDL (Data Definition Language)是數據定義語言的縮寫,簡單來說,就是對數據庫內部的對象進行創建、刪除、修改的操作語言。它和 DML 語言的最大區別是DML 只是對表內部數據的操作,而不涉及到表的定義、結構的修改,更不會涉及到其他對象。DDL語句更多的被數據庫管理員(DBA)所使用,一般的開發人員很少使用。
補充:由于select不會對表進行破壞,所以有的地方也會把select單獨區分開叫做數據庫查詢語言DQL(Data Query Language)

三、執行速度不同

一般來說:drop > truncate > delete。

1、delete命令執行的時候會產生數據庫的binlog日志,而日志記錄是需要消耗時間的,但是也有個好處方便數據回滾恢復。

2、truncate命令執行的時候不會產生數據庫日志,因此比delete要快。除此之外,還會把表的自增值重置和索引恢復到初始大小等。

3、drop命令會把表占用的空間全部釋放掉。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209989.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209989.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209989.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java LeetCode篇-深入了解二叉樹的經典解法(多種方式實現:構造二叉樹)

🔥博客主頁: 【小扳_-CSDN博客】 ?感謝大家點贊👍收藏?評論? 文章目錄 1.0 從前序與中序遍歷序列來構造二叉樹 1.1 實現從前序與中序遍歷序列來構造二叉樹思路 1.2 代碼實現從前序與中序遍歷序列來構造二叉樹 2.0 從中序與后序遍歷序…

計算目標檢測和語義分割的PR

需求描述 實際工作中,相比于mAP項目更加關心的是特定閾值下的precision和recall結果;由于本次的GT中除了目標框之外還存在多邊形標注,為此,計算IoU的方式從框與框之間變成了mask之間; 本文的代碼適用于MMDetection下的…

Java Web 學習之路(2) —— 概念、SpringBoot + MyBatis(controller+service+mapper)開發流程與過程梳理

文章目錄 前言1. 常見的一些概念1.1 POJO(Plain Ordinary Java Object 簡單Java對象)1.2 DAO和Mapper 2. Java的三層架構2.1 包的層級結構2.2 交互層 controller(用戶界面、網頁)jsp文件2.3 業務處理層 service2.4 Mapper層 3. 注…

如何同步fork項目原倉庫的更新

最簡單粗暴的方法:把原來fork的倉庫刪了重新fork(嘿嘿不過這顯然是不優雅的) 那我們該怎么同步更新呢? 如何在 Github 網頁端同步更新? 進入你自己的 fork 過來的倉庫。點擊 “Pull requests” ,如何點擊…

2024 年甘肅省職業院校技能大賽信息安全管理與評估賽項規程

2024 年甘肅省職業院校技能大賽高職學生組電子與信息大類信息安全管理與評估賽項規程 一、賽項名稱 賽項名稱:信息安全管理與評估 賽項類別:團體賽 賽項歸屬:電子與信息大類 二、競賽目的 極安云科專注技能競賽,包含網絡建設…

Python基礎——正則匹配中高階用法

1.正則使用變量匹配re.escape() re.escape() 是一個用于轉義正則表達式中特殊字符的函數。當我們需要使用變量構建正則表達式模式時,為了避免特殊字符對模式的解析產生影響,我們可以使用 re.escape() 函數來自動轉義這些特殊字符。 例如,如…

微信小程序css實現的聯系客服動畫樣式

一 、效果 二、代碼 wxml <view class"customer-service"><button class"btn" open-type"contact"></button><image class"pic" src"https://ts4.cn.mm.bing.net/th?idOIP-C.3SGSiRPuOU9uH5VNVOMPwgHaHa…

序列的Z變換(信號的頻域分析)

1. 關于Z變換 2. 等比級數求和 3. 特殊序列的Z變換 4. 因果序列/系統收斂域的特點 5. 例題

navigationBar頂部導航欄,兼容適配所有機型(附完整案例)

思路 隱藏原生樣式獲取膠囊按鈕、狀態欄相關數據以供后續計算根據不同機型計算出該機型的導航欄高度,進行適配編寫為導航欄公共組件使用組件1. 隱藏原生樣式 全局設置 "window": {"navigationStyle": "custom" }單個頁面設置 {"navigat…

免費的AI文案生成器有哪些?AI文案生成器排行榜

在當今數字化的時代&#xff0c;內容創作已成為許多行業不可或缺的一部分。為了滿足日益增長的創作需求&#xff0c;越來越多的人開始尋找能夠提高效率、同時保持原創性的解決方案。本文將專心分享一些優質的AI文案生成器。 AI文案生成器的需求 內容創作已經不再是傳統媒體和市…

高項備考葵花寶典-項目進度管理輸入、輸出、工具和技術(上,很詳細考試必過)

項目進度管理的目標是使項目按時完成。有效的進度管理是項目管理成功的關鍵之一&#xff0c;進度問題在項目生命周期內引起的沖突最多。 小型項目中&#xff0c;定義活動、排列活動順序、估算活動持續時間及制定進度模型形成進度計劃等過程的聯系非常密切&#xff0c;可以視為一…

C語言基礎

常量和常量表達式的區別 #define N 4;又是常量&#xff0c;又是常量表達式&#xff0c;其在編譯期預處理階段就會直接替換 const int M 5;只是常量&#xff0c;不是常量表達式 &#xff0c;其是存儲在一塊內存區域之內的&#xff0c;但是存儲的值不能改變 常量表達式&#xff…

【USB、串口、COM口、TTL、RS-232、RS-485區別詳解】

USB&#xff0c;串口&#xff0c;COM口&#xff0c;TTL&#xff0c;RS-232&#xff0c;RS-485區別詳解 1. USB&#xff0c;串口&#xff0c;COM口&#xff0c;TTL&#xff0c;RS-232&#xff0c;RS-485區別詳解2 USB轉TTL2 RS-232轉TTL3 USB4 UART5 STM32串口異步通訊需要定義的…

iOS——定位與地圖

平時在寫項目的時候可能會遇到需要使用定位服務的地方&#xff0c;比如說獲取位置和導航等。因此這里我會使用OC自帶的庫以及蘋果系統的地圖來獲取定位以及顯示在地圖上。 開始前的設置 在獲取定位前&#xff0c;需要在項目文件的info中添加兩個關鍵字&#xff0c;用于向用戶…

從零開始的C++(二十一)

C11 1.列表初始化&#xff1a; //允許以下代碼正確運行int a[]{1,2,3};//效果與int a[]{1,2,3}一致 即允許省略等于號。同時&#xff0c;允許用花括號對所有自定義類型和內置類型進行初始化&#xff0c;而非以前花括號只能對數組進行初始化。利用花括號對自定義類型初始化時…

LeetCode刷題--- 求根節點到葉節點數字之和

個人主頁&#xff1a;元清加油_【C】,【C語言】,【數據結構與算法】-CSDN博客 個人專欄&#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言&#xff1a;這個專欄主要講述遞歸遞歸、搜索與回溯算法&#xff0c;所以下面題目主要也是這些算法做的 我講述…

【ITK庫學習】使用itk庫進行圖像濾波ImageFilter:鄰域濾波

目錄 1、itkMeanImageFilter 均值濾波器2、itkMedianImageFilter 中值濾波器3、itkBinaryMedianImageFilter 二值中值濾波器4、擴展itkNeighborhood5、擴展itkNeighborhoodIterator6、擴展itkNeighborhoodOperator 領域濾波是一種信號處理方法&#xff0c;用于去除信號中的噪聲…

★560. 和為 K 的子數組(自己做出來了)

560. 和為 K 的子數組 前綴和的知識。 如果要求i~j下標之間的元素和&#xff0c;用前綴和的話&#xff0c;應該是b[j] - b[i-1]&#xff0c;i處的值也應該包括。 所以這個題&#xff0c;前綴和數組就要比原數組整體向后平移一個單元格&#xff0c;不然在求0~n的和的時候沒法取…

在python中安裝庫,會有conda安裝,也會有pip安裝,conda與pip的區別是什么?

文章目錄 一、Conda是什么&#xff1f;二、pip是什么&#xff1f;三、pip與conda的區別&#xff1a;總結 一、Conda是什么&#xff1f; Conda是一個開源的包管理系統&#xff0c;它是Anaconda公司為Python和其他編程語言開發的。它主要用于數據科學和機器學習領域&#xff0c;…

【Vue】日常錯誤總結(持續更新)

日常遇到的小問題匯總, 內容小篇幅少的就全放這里了, 內容多的會在Vue專欄單獨分享~ 目錄 【Q】 el-form-item值為 null 或 undefined顯示““ 【Q】dialog內組件數據刷新總是延遲慢一拍 問題背景描述 解決方案 代碼簡單模擬 JS 【Q】el-input 不能輸入的解決辦法 方法…