第一種 使用delete 語句
特點:
delete 屬于數據庫操縱語言DML,表示刪除表中的數據,
刪除過程是每次從表中刪除一行,并把該行刪除操作作為事務記錄在日志中保存
可以配合事件(transaction)和 回滾(rollback)找回數據,且自增不會被重置
delete 既可以對table也可以對view
可以全部刪除,也可以按條件刪除
語法:
-- 刪除表中全部數據delete from 表名
-- 按條件刪除delete from 表名 where 條件
第二種 使用truncate 語句
特點:
truncate 屬于數據庫定義語言DDL,表示刪除表中所有數據,DDL操作是隱性提交的!不能rollback
truncate一次性的從表中刪除所有數據,不會保存到日志中,相當于直接刪除整個表,再重新創建一個一模一樣的表
使用truncate 刪除的數據不能恢復
truncate 只能對table,執行速度快
語法:
-- 刪除表中所有數據且不可恢復truncate from 表名
第三種 使用 drop 語句
特點:
drop 屬于數據庫定義語言DDL,表示刪除表, 也可以用來刪除數據庫,刪除表格中的索引。
執行速度,一般來說: drop> truncate > delete。
語法:
-- 刪除 表drop table 表名
-- 刪除數據庫drop database 數據庫名
-- 刪除索引
<!--用于 MS Access 的 DROP INDEX 語法:-->
DROP INDEX index_name ON table_name <!--用于 MS SQL Server 的 DROP INDEX 語法-->DROP INDEX table_name.index_name
<!--用于 DB2/Oracle 的 DROP INDEX 語法:-->
DROP INDEX index_name
<!--用于 MySQL 的 DROP INDEX 語法-->
ALTER TABLE table_name DROP INDEX index_name