玖叶教程网

前端编程开发入门

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

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】头条号,喜欢记得点赞、收藏、评论、转发哦!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言