加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_运城站长网 (https://www.0359zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL删除表数据?清空表命令

发布时间:2022-12-15 11:10:11 所属栏目:MySql教程 来源:
导读:  一、MySQL清空表数据命令:truncate

  SQL语法:

  truncate table 表名

  注意:

  二、MySQL删除表命令:drop

  SQL语法:

  drop table 表名;

  或者是

  d
  一、MySQL清空表数据命令:truncate
 
  SQL语法:
 
  truncate table 表名
 
  注意:
 
  二、MySQL删除表命令:drop
 
  SQL语法:
 
  drop table 表名;
 
  或者是
 
  drop table if exists 表名;
 
  注意:
 
  truncate只会清除表数据,drop不光清除表数据还要删除表结构。
 
  三、MySQL清空数据表内容的语法:delete
 
  SQL命令:
 
  delete from 表名 where id='1';
 
  或
 
  delete from 表名;
 
  注意:
 
  delete含义:你要删除哪张表的数据 ?你要删掉哪些行 ?delete可以删除一行,也可以删除多行;如果不加where条件,则是删除表所有的数据mysql删除表,这是很危险的!不建议这样做!
 
  总结:
 
  1、当你不再需要该表时, 用drop;
 
  2、当你仍要保留该表,但要删除所有数据表记录时, 用truncate;
 
  3、当你要删除部分记录或者有可能会后悔的话, 用delete。
 
  补充:MySQL删除表操作delete、truncate、drop的区别
 
  1.表和索引所占空间:
 
  当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小;
 
  DELETE操作不会减少表或索引所占用的空间;
 
  DROP语句将表所占用的空间全释放掉。
 
  2.应用范围:
 
  TRUNCATE 只能对table;
 
  DELETE可以是table和view。
 
  3.执行速度:
 
  drop > truncate > delete
 
  4.delete from删空表后,会保留一个空的页,truncate在表中不会留有任何页。
 
  5.DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
 
  TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
 
  6.当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。truncate始终锁定表和页,而不是锁定各行。
 
  7.如果有identity产生的自增id列,delete from后仍然从上次的数开始增加,即种子不变;使用truncate删除之后,种子会恢复到初始值。
 
 

(编辑:开发网_运城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!