龙空技术网

【数据库】MySQL清空表数据、删除表命令3种方法

辉哥传书vlog 68

前言:

眼前兄弟们对“mysql 删除表内容”大体比较注意,姐妹们都想要剖析一些“mysql 删除表内容”的相关文章。那么小编在网上网罗了一些有关“mysql 删除表内容””的相关知识,希望看官们能喜欢,兄弟们快快来学习一下吧!

Mysql中truncate、drop及delete

MySQL中三种清空、删除表的操作,delete、truncate以及drop语句对比说明。

一、MySQL清空表数据命令: truncate

SQL语法:

truncate table 表名;

注意:

不能与where一起使用。truncate删除数据后是不可以rollback的。truncate删除数据后会重置ldentity (标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。truncate删除数据后不写服务器log,整体删除速度快。truncate删除数据后不激活trigger(触发器)。二、MySQL删除表命今: drop

SQL语法:

drop table 表名;

或者

drop table if exists 表名;

注意:

truncate只会清除表数据,drop不光清除表数据还要删除表结构。三、MySQL清空数据表内容的语法: delete

SQL命令

delete from 表名 where id='1';

或者

delete from 表名;

注意:

delete含义: 你要删除哪张表的数据 ?你要删掉哪些行 ?delete可以删除一行,也可以删除多行;如果不加where条件,则是删除表所有的数据,这是很危险的!不建议这样做!

总结:

1、当你不再需要该表时,用 drop;

2、当你仍要保留该表,但要删除所有数据表记录时, truncate

3、当你要删除部分记录用 delete。

4、不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

5、执行速度:drop> truncate > delete

--END--

欢迎关注【辉哥传书vlog】头条号,喜欢记得点赞、收藏、评论、转发哦!

标签: #mysql 删除表内容 #mysql清空一个表 #mysql清除数据 #mysql清除数据表 #mysql清除数据库数据