sql语句清空表数据

痴心易碎 提交于 2020-03-19 12:06:28

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!