irpas技术客

数据表的清空有三种方式:_Pistachio839_清空表

大大的周 6013

1.delete------ 是逐行删除速度极慢,不适合大量数据删除。

Delete from tablename where 1=1

2.truncate---- 删除所有数据,保留表结构,不能撤消还原。

TRUNCATE TABLE tablename

3.drop-------- 删除表,数据和表结构一起删除,快速。

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for docker2

-- ----------------------------

DROP TABLE IF EXISTS `docker2`;

CREATE TABLE `docker2` (

? `name` varchar(255) NOT NULL,

? `path` varchar(500) DEFAULT NULL,

? `docker1_name` varchar(255) NOT NULL,

? `tag1` varchar(255) DEFAULT NULL,

? `tag2` varchar(255) DEFAULT NULL,

? `tag3` varchar(255) DEFAULT NULL,

? `tag4` varchar(255) DEFAULT NULL,

? `tag5` varchar(255) DEFAULT NULL,

? `tag6` varchar(255) DEFAULT NULL,

? `tag7` varchar(255) DEFAULT NULL,

? `tag8` varchar(255) DEFAULT NULL,

? `tag9` varchar(255) DEFAULT NULL,

? PRIMARY KEY (`docker1_name`,`name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

多表删除

1、delete from t1 where 条件

2、delete t1 from t1 where 条件

3、delete t1 from t1,t2 where 条件

4、delete t1,t2 from t1,t2 where 条件

前3者是可行的,第4者不可行。

也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除关系,则可以实现删除一个表的数据时,同时删除另一个表中相关的数据。

注意:

1,2这两种方法在处理大量数据的时候都比较慢,往往要等待许久才能清空完成。3种方式是首先对原先表进行删除,然后再重建,已达到清楚表数据的效果,要比前两种方式快很多。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #清空表 #1Delete #Delete #from #tableName #where #112truncate