https://blog.51cto.com/13588598/2066335
1.使用 delete 语句删除表中的数据:
语法:
delete from <表名> [where <删除条件>]
delete 是删除的意思
where是选填内容可以不加,但是不加条件的话是删除整个表
例子:
delete from 成绩表 where 姓名='张三'
含义:
删除成绩表中张三的信息,如果不加where 就是删除整个成绩表
注意:
delete用于删除整条记录,不会删除单个字段,也就是不会删除表格的一空,所以delete后面不会出现列名。
~~ delete <列名> from <表名> ~~
2.使用truncate table 语句删除表中的数据
语法:
truncate table <表名>
truncate table 是删除表的意思
例子:
truncate table 成绩表
含义:删除成绩表中的所有数据(记录行)
注:truncate table 功能上类似没有where字句的delete语句。
两者的区别:
1.truncate 语句不带where字句,只能删除整个表的数据。而delete可以带where,允许按条件删除某些数据。
2.truncate语句不记录事务日志,所以删除的数据*不能通过事务日志恢复*。而delete会记录,能恢复。
3.truncate语句删除表中所有行,标识符列会重置为0。而delete不会重置标识符列。
4.truncate语句不能用于外键约束引用的表。