亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL命令delete和truncate之間有哪些區別

發布時間:2020-09-16 14:19:09 來源:億速云 閱讀:130 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹SQL命令delete和truncate之間有哪些區別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

 在SQL中delete和truncate命令都可用于刪除數據(記錄),那么它們之間有什么區別?

SQL命令delete和truncate之間有哪些區別

什么是delete命令?

delete命令有助于從數據庫中的表中刪除記錄。【視頻教程推薦:MySQL教程】

例:以下是一張student表,包含有3個字段:student_id、name、marks

SQL命令delete和truncate之間有哪些區別

可以使用SQL的delete命令來刪除student表中的所以記錄:

delete from student;

也可以刪除student表中的特定記錄:

delete from student where student_id =2;

上面的SQL命令將刪除student_id為2的記錄。執行該語句后,表中將只包含兩條記錄:student_id為1和3的記錄。

什么是truncate命令?

truncate命令有助于從表中刪除所有記錄。它還從數據庫中刪除表結構。因此,在特定表上執行truncate命令時,它還會初始化主鍵。

以下SQL命令將刪除student表中的所有記錄。此外,它從數據庫中刪除表結構。

truncate table student;

delete和truncate命令之間的區別是什么?

1、命令類型

delete是數據操作語言(DML)命令;而truncate是數據定義語言(DDL)命令。

2、功能

delete命令根據指定的SQL語句從表中刪除單個,多個或所有記錄;而truncate命令從數據庫中刪除所有記錄和表結構。

3、Where子句

delete命令支持WHERE子句,可以使用帶有DELETE的where子句來過濾和刪除特定記錄;而,truncate命令不支持WHERE子句。

4、鎖定

delete命令采用行級鎖定,表中的每一行都被鎖定以進行刪除;truncate命令采用表級鎖定,鎖定了整個表以刪除所有記錄。

5、索引視圖

delete命令可以與索引視圖一起使用;而,truncate命令不能與索引視圖一起使用。

6、執行速度

由于delete命令維護日志,因此速度很慢。但是,由于truncate命令在事務日志中維護最少的日志記錄,因此執行速度更快。

7、表結構

delete命令不會影響表結構,而truncate命令會從數據庫中刪除表結構。

8、事務空間

delete命令比truncate命令使用更多的事務空間。

以上是SQL命令delete和truncate之間有哪些區別的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陆良县| 宁夏| 云梦县| 洛南县| 平乐县| 房山区| 防城港市| 循化| 息烽县| 威远县| 黔江区| 全南县| 福州市| 安新县| 兰坪| 九龙县| 桐柏县| 阿巴嘎旗| 宣威市| 铜鼓县| 陇南市| 沂水县| 抚顺县| 衡南县| 中宁县| 垣曲县| 无棣县| 会同县| 墨竹工卡县| 台山市| 通山县| 阳朔县| 湘阴县| 札达县| 江津市| 台江县| 惠来县| 大余县| 灵寿县| 永年县| 岑巩县|