【说站】mysql清空、删除数据表的命令详解

2022-11-24 17:16:59 浏览数 (3)

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打赏

1 人点赞