Create table student(
Id INT(3) primarykey auto_increment,
Name varchar(4)
);
Truncate table student;
(1) delete语句是DML语句(data manipulation language它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言),truncate是DDL语句(datadefinition languageDDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。);
(2) delete语句后面可以跟where子句,通过where子句中的表达式,只删除满足条件的部分记录,而truncate只能用于删除表中的所有记录;
(3) 使用truncate语句删除表中的数据后,再次向表中添加记录时,字段的默认初始值从1开始,而使用delete删除表中的所有记录后,再次向表中添加记录,自动增加字段的值为删除时字段的最大值加1.
(4) 使用delete语句,没删除一天记录都会记录在日志中,而truncate语句不会记录在日志中,因此truncate语句的执行效率比delete语句高。