首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> SQL 基礎

SQL DROP 與 TRUNCATE 完整指南:刪除索引、資料表、資料庫與清空資料差異解析

     編輯:SQL 基礎

SQL DROP 與 TRUNCATE 刪除操作完整指南


DROP 語句可永久刪除索引、資料表與資料庫。若僅需清空資料保留結構,請使用 TRUNCATE TABLE。


DROP INDEX - 刪除索引 (跨平台語法差異大)

資料庫語法
MS AccessDROP INDEX index_name ON table_name
MS SQL ServerDROP INDEX table_name.index_name
DB2 / OracleDROP INDEX index_name
MySQLALTER TABLE table_name DROP INDEX index_name

DROP TABLE - 刪除資料表

DROP TABLE table_name;

會連同結構、資料、索引、觸發器、約束一併刪除,不可回覆。


DROP DATABASE - 刪除資料庫

DROP DATABASE database_name;

會刪除資料庫內所有物件,極度危險,執行前請三思並備份。


TRUNCATE TABLE - 快速清空資料表

TRUNCATE TABLE table_name;

TRUNCATE vs DELETE 差異

  • TRUNCATE:DDL 操作,不記錄逐行刪除日誌,速度極快,不可回滾 (隱式提交),重置自動遞增計數器
  • DELETE:DML 操作,記錄日誌可回滾,可搭配 WHERE 條件,不重置自動遞增

適用場景: 需快速清空大量測試資料、重置表狀態時使用 TRUNCATE。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved