0
点赞
收藏
分享

微信扫一扫

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

慕容冲_a4b8 2022-01-12 阅读 111
linqp2psql

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

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

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种方式是首先对原先表进行删除,然后再重建,已达到清楚表数据的效果,要比前两种方式快很多。

举报

相关推荐

0 条评论