第一种 使用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