MySql 几种删除方式区别 drop、delete、truncate

1、drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM;

实例,删除学生表:
drop table student;
2、truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM;

实例,删除学生表:
truncate table student;
3、delete from table_name : 删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间;

实例,删除学生表:
delete from student;
4、delete from table_name where xxx : 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间;

实例,删除学生表中姓名为 "张三" 的数据:
delete from student where T_name = "张三";
5、delete 操作以后,使用 optimize table table_name 会立刻释放磁盘空间,不管是 innodb 还是 myisam;

实例,删除学生表中姓名为 "张三" 的数据:
delete from student where T_name = "张三";
实例,释放学生表的表空间:
optimize table student;
6、delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间

猜你喜欢

转载自blog.csdn.net/weixin_34332905/article/details/91015877