mysql有好几种删除和清空数据表的命令,但每个命令的用法具体来说不一样,下面具体说说truncate、drop和del三个命令:
1、truncate清空表数据命令
truncate是用来清空数据表的,不该表数据表的结构
命令格式:
代码语言:javascript复制truncate table 表名
例:下面的句子表示要清空wp_posts表
代码语言:javascript复制 truncate table wp_posts;
注意:
(1)、truncate命令后面不能有 where 条件;
(2)、truncate 删除数据后是不可以回滚操作;
(3)、truncate 删除数据后会重置 Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数
(4)、truncate 删除数据时不会写入服务器日志,删除速度快
(5)、truncate 删除数据后不激活 trigger 触发器
2、drop删除表命令
如果某张数据表不用了,我们可以直接用drop命令来删除这张数据表,truncate只会清除表数据,drop不光清除表数据还要删除表结构。
命令格式:
代码语言:javascript复制drop table 表名;
drop table if exists 表名;
例:
代码语言:javascript复制DROP table wp_posts;
注意:
(1)、drop 删除表中所有数据
(2)、drop 直接删除整张表,要谨慎操作
3、delete 命令删除记录或清空表数据
命令格式:
代码语言:javascript复制# 语法一
delete from 表名 where id='1';
# 语法二
delete from wp_posts;
注:
(1)、delete 可以根据条件删除一行或多行
(2)、如果使用加条件的话,则删除表中所有数据
(3)、delete from wp_posts;这条命令可以直接清空wp_posts表里面的所有记录,后续内容id会继续前面删除点的id继续建立,这点与truncate有区别。
总结:
1、当你不再需要该表时, ⽤ drop;
2、当你仍要保留该表和表结构,但要删除所有数据表记录时, ⽤ truncate;
3、当你要清空表数据以后,后面新增记录id从1开始的话就得用truncate,因为del命令清空数据表之后后续内容是会继续前面删除点id继续自增的;
4、当你需要删除表里面的部分记录时,用del;
收藏 | 0点赞 | 0打赏