mysql語句中的Delete、Drop、Ttuncate的區別
1. truncate和 delete只刪除資料不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於該表的 儲存過程/函式將保留,但是變為invalid狀態. 2.delete語句是dml,這個操作會放到rollback segement中,事務提交之後才生效;如果有相應的trigger, 執行的時候將被觸發. truncate,drop是ddl, 操作立即生效,原資料不放到rollback segment中,不能回滾. 操作不觸發 trigger. 3.delete語句不影響表所佔用的extent, 高水線(high watermark)保持原位置不動 顯然drop語句將表所佔用的空間全部釋放truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage; truncate 會將高水線復位(回到最開始). 4.速度,一般來說: drop> truncate > delete 5.安全性:小心使用drop 和truncate,尤其沒有備份的時候.否則哭都來不及. 使用上,想刪除部分資料行用delete,注意帶上where子句. 回滾段要足夠大. 想刪除表,當然用drop 想保留表而將所有資料刪除. 如果和事務無關,用truncate即可. 如果和事務有關,或者想觸發trigger,還 是用delete.
如果是整理表內部的碎片,可以用truncate跟上reuse stroage,再重新匯入/插入資料/
總結:
DROP用於刪除表,資料庫等.
TRUNCATE和DELETE都是刪除表資料.
但是TRUNCATE相當於初始化,比如如果有自增長ID,用TRUNCATE刪除後,自增長Id會從1開始,(truncat會釋放表所佔的空間)
而delete則不會.
相關推薦
sql語句中刪除表 drop、truncate和delete的用法
drop table xx --xx是資料表的名字 作用:刪除內容和定義,釋放空間. 後果:整個表刪除,內容被刪除 truncate table xx 作用:刪除內容,釋放空間但不刪除定義.與drop不同的是隻清空表資料,不刪除表結構 注意:不可刪除行資料,只能全表刪除
mysql語句中的Delete、Drop、Ttuncate的區別
1. truncate和 delete只刪除資料不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於該表的
MySQL語句中 LEFT JOIN 、INNER JOIN 、RIGHT JOIN 區別
今天遇見一個吭,許是我沒有理解清楚三者之間的聯絡。 不多說,直接上程式碼: MySQL查詢語句: SELECT u.* FROM tb_active_user AS u LEFT JOIN tb_active_team AS t ON t.user_id = #{use
SQL語句中有關單引號、雙引號和加號的問題
類型 OS clas 條件 分析 student 條件查詢 log div 字符串數據是用單引號包在外面的,而+號只是用來連接這些字符串的. 數據庫裏的字段是整型的時候不要加單引號,是字符串的時候要加,其它類型根據實際情況來,雙引號就是用來拼接字符串的,單引號是sql文的固
機房收費系統之收取金額查詢(TPicker控制元件時間段取值、SQL語句中單引號與雙引號區別)
收取金額查詢窗體較組合查詢而言就是小菜一碟,但即便是內容較少也有其精華之處,現在分享一下我的學習過程吧^_^ 一、收取金額查詢窗體的流程圖: 二、問題集 這是什麼錯誤呢,為什麼會出現這個型別的錯誤? 產生此問題的程式碼部分是什麼樣子的呢? 以
Truncate、Drop、Delete的區別與用法
SQL語句中刪除資料的幾種方式 今日在刪除資料時,發現除了常用的Delete & Drop語句之外,還有Truncate也是與刪除資料相關的,針對上述三種有進行簡單的比較與整理 1)從刪除機制上來看 把table當作黑板,資料當作黑板上的文字 Delete:逐行刪除資料
MySQL/InnoDB中,樂觀鎖、悲觀鎖、共享鎖、排它鎖、行鎖、表鎖、死鎖概念的理解
MySQL/InnoDB的加鎖,一直是一個面試中常問的話題。例如,資料庫如果有高併發請求,如何保證資料完整性?產生死鎖問題如何排查並解決?我在工作過程中,也會經常用到,樂觀鎖,排它鎖,等。於是今天就對這幾個概念進行學習,屢屢思路,記錄一下。 注:MySQL是一
用java實現對MySql資料庫中資料的讀取、插入、修改和刪除
目標: 1、實現eclipse同資料庫的連線 2、在eclipse中用java實現對資料庫的控制 初學java和資料庫,本文是參考這篇文章的思路的學習筆記,程式碼實現了將4個控制函式(讀取、插入、修改和刪除)分別寫成4個靜態方法呼叫。 1. 關於java和MySQL的連
SQL語句中的左連線、右連線、交叉連線、全外連線
第一部分、連線查詢一、內連線內連線查詢操作列出與連線條件匹配的資料行,它使用比較運算子比較被連線列的列值。內連線分三種:1、等值連線:在連線條件中使用等於號(=)運算子比較被連線列的列值,其查詢結果中列出被連線表中的所有列,包括其中的重複列。2、不等連線:在連線條件使用除等於運算子以外的其它比較運算子比較被連
MySql語句中select可以嵌套麽,字段的重命名可以用中文麽
ply 描述 查詢 select get targe http 查詢語句 字段 今天文檔中看到的查詢語句,SELECT後面又跟了一個SELECT嵌套,而且把字段重命名為中文,請問可以這樣做麽
pandas 處理缺失值[dropna、drop、fillna]
面對缺失值三種處理方法: option 1: 去掉含有缺失值的樣本(行) option 2:將含有缺失值的列(特徵向量)去掉 option 3:將缺失值用某些值填充(0,平均值,中值等) 對於dro
mysql 語句中 sum函式求和 null 變 0
在SQL語句中使用集合函式count(),返回結果肯定為非負整數,這也是用來判斷資料有無的一個很有效的方法; 然後在用sum()進行集合相加的時候,如果sum()的物件沒有記錄,那麼不會返回0,而返回null,這麼做,不會影響資料庫,因為數值型欄位也是可以存放NULL的,因
mysql 語句中帶變數
select CONCAT("old_",@a:[email protected]+1) aaa from sss 以下內容轉載 在專案開發過程中用到hibernate的createSQLQuery,報如下錯誤: org.hibernate.Query
MySQL 語句中執行優先順序——and比or高
轉: MySQL 語句中執行優先順序——and比or高 2017年04月20日 13:33:03 十步行 閱讀數:7381 MySQL中,AND的執行優先順序高於OR。也就是說,在沒有小括號()的干預下,總是先執行AND語句,再執行O
使用Map集合,PreparedStatement 介面對 MySQL 語句中的?佔位符進行設定
使用?佔位符的原因:Statement不安全,存在SQL注入防風險! 涉及知識點:Map集合,PreparedStatement 介面,MySQL資料庫,ResultSet結果集 使用方法: 博主是用的是 eclipse Jee IDE,使用MySQL需要在 .....\工程名\We
MySql語句中Union和join的用法
一直以來,對於資料庫SQL方面都是半吊子水平,能寫一些基本的增刪改查的語句,大部分時間都是用下Where,偶爾用用Order By、Limit,Like什麼的。連表查詢也是一些很簡單的使用。至於那些高階用法,都還給老師了。最近接騰訊的IDIP的SDK,需要查詢一些遊戲資料,發
MySQL語句中有IFNULL , 查詢結果返回是亂碼 [[email protected]類的結果
問題描述:根據開發反饋由於應用查詢MySQL資料庫的資料,有部分數值出現亂碼,如下圖所示。整條sql在資料庫中查詢沒有出現這種亂碼情況。在資料庫中查詢亂碼兩個欄位是如下的結果:開始進行分析問題是什麼原因造成亂碼問題:1、首先資料庫查詢結果沒有問題,那麼從應用端開始查。找到相應
Oracle 12C 新特性之表分割槽帶非同步全域性索引非同步維護(一次add、truncate、drop、spilt、merge多個分割槽)
實驗準備: -- 建立實驗表 CREATE TABLE p_andy (ID number(10), NAME varchar2(40)) PARTITION BY RANGE (id) (PARTITION p1 VALUES LESS THAN (10), PARTITION p2 VALUES LES
sql中delete,drop ,truncate三者的區別
sql中delete,drop ,truncate都代表刪除,但3者又有一些區別 1. truncate和 delete只刪除資料不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於
MYSQL語句中執行擷取資料SUBSTRING
SELECT SUBSTRING(CardID, -3) FROM users 取CardID欄位後三位字元 SELECT SUBSTRING(CardID, 3) FROM users