面試題: 資料庫:delete和trancate刪除表記錄的區別
delete和trancate刪除表記錄的區別
首先說相同點,就是他們都能刪除表中的資料,區別有兩點:
1:
delete語句在刪除記錄的時候可以有選擇的刪除某些資料(使用where子句),當然,如果不新增where子句,就是刪除所有記錄
trancete語句則是清空表中所有資料
2:
delete:當表中的主鍵是自動增長(auto_increment)時,用delete刪除完資料之後,再往表中插入資料,當資料的主鍵為空,其自動增長時,並不是從1開始
truncate:而truncate則做了這件事,它不僅將資料全部清空,還將主鍵自增的值初始為1。
總的來說可以用一句話區分:
delete只刪資料,不清痕跡;trancate既刪資料,又清痕跡。
補充一點:
drop為刪除整張表的操作,慎用!
相關文章
- delete和truncate刪除的區別delete
- 表管理之四:刪除資料Delete與truncate的使用區別delete
- 單表的更新UPDATE和刪除記錄DELETE(二十六)delete
- mysql支援跨表delete刪除多表記錄MySqldelete
- Oracle 刪除表中重複記錄的DELETE SQLOracledeleteSQL
- MYSQL資料庫表記錄刪除解決方案MySql資料庫
- 找回Oracle中Delete刪除的記錄Oracledelete
- mysql資料庫中刪除資料的三種形式 drop和 truncate 和 deleteMySql資料庫delete
- 資料庫:drop、truncate、delete的區別資料庫delete
- ORACLE資料庫刪除表中記錄報record is locked by another userOracle資料庫
- 刪除不掉的資料記錄
- 聊聊關於資料庫表記錄刪除都有哪些解決方式資料庫
- delete/truncate刪除資料索引空間問題delete索引
- mysql/mariadb學習記錄——建立刪除資料庫、表的基本命令MySql資料庫
- Mysql資料庫delete刪除後資料恢復報告MySql資料庫delete資料恢復
- 刪除資料庫表空間資料庫
- delete 和 delete [] 的真正區別delete
- 【北亞資料庫資料恢復】使用delete未加where子句刪除全表資料的Mysql資料庫資料恢復資料庫資料恢復deleteMySql
- MongoDB 資料庫建立刪除、表(集合)建立刪除、資料增刪改查MongoDB資料庫
- sql觸發器刪除資料庫中的級聯記錄SQL觸發器資料庫
- MySQL資料庫delete資料時,不支援表別名MySql資料庫delete
- Oracle批量建立、刪除資料庫表Oracle資料庫
- 檢視oracle 資料庫中的級聯刪除(delete cascade)Oracle資料庫delete
- 如何刪除資料庫下的所有表(mysql)資料庫MySql
- 處理表重複記錄(查詢和刪除)
- 經典SQL面試題4:高效的刪除重複記錄方法SQL面試題
- 簡單介紹mysql如何刪除資料表和關聯的資料表刪除詳情MySql
- 6.12php對資料庫的刪除和批量刪除PHP資料庫
- ORACLE刪除-表分割槽和資料Oracle
- 面試問題記錄 二 (資料庫、Linux、Redis)面試資料庫LinuxRedis
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- 【C/C++】資料庫刪除大表C++資料庫
- 資料庫 - 索引、基本表建立與刪除資料庫索引
- truncate和delete 的區別delete
- GBase XDM(單機/分片叢集)資料庫 刪除記錄資料庫
- mysql表刪除重複記錄方法MySql
- 如何刪除oracle庫中相同的記錄Oracle
- MySQL防止delete命令刪除資料的兩種方法MySqldelete