1.快速清空表中的数据(20.05.25)
创新互联公司主要从事成都网站设计、成都网站制作、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务城关,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
区别:
a.不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
b.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
c.delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
DROP TABLE table_name (删除表);delete from 表名 where 删除条件(删除表内数据,用 delete);truncate table 表名(清除表内数据,保存表结构,用 truncate)。
扩展资料:
1、MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。
2、命令提示窗口中删除数据表:SQL语句为 DROP TABLE 。
3、使用PHP脚本删除数据表:PHP使用 mysqli_query 函数来删除 MySQL 数据表。该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。语法mysqli_query(connection,query,resultmode)。
4、当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时, 用 delete。
5、drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM。实例,删除学生表:drop table student。
6、truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM。实例,删除学生表:truncate table student。
7、delete from table_name : 删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间。实例,删除学生表:delete from student。
8、delete from table_name where xxx : 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间。实例,删除学生表中姓名为 "张三" 的数据:delete from student where T_name = "张三"。
9、delete 操作以后,使用 optimize table table_name 会立刻释放磁盘空间,不管是 innodb 还是 myisam。实例,删除学生表中姓名为 "张三" 的数据:delete from student where T_name = "张三"。
10、delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。
mysql有两种方式可以清空表。分别为:delete from 表名和truncate table 表名。
delete from 表名,删除表数据,全部删除则是可以清空表,相当于一条条删除,需要注意的是,如果有字段是自增的(一般为id),这样删除后,id 值还是存在的。举例来说,就是加入你在删除之前最大的id为100,你用这种方式清空表后 ,新插入一条数据其id为101,而不是1。
2.truncate table 表名,直接清空表,相当于重建表,保持了原表的结构,id也会清空。相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。