当前位置:   article > 正文

SQL清空表(高效)_清空表数据sql

清空表数据sql

一般情况下我们需要清空表用到delete,但是delete是一条一条数据来删除的,直到表清空,但是遇到数据量大的时候差距就很明显了,耗时久。

当然有更好的办法,删除表数据但保留表结构使用truncate更快速也更安全。

MySQL

在MySQL中一般我们清空表会用

delete from tablename

建议用另外一种方式

TRUNCATE table_name;

数据表会清空,而且自增id也会变回0;

PostgreSQL

但是在PG中,需要加一步操作因为postgresql中是通过序列来进行id自增的。

先清表(tablename 换成你的表名)前提你这张表没有多余关联关系时

truncate table tablename;

表中有外键时,要用级联方式删所有关联的数据

truncate table tablename cascade;

再设置序列起始值为1(tablename_id_seq 换成你的对应序列名字)

alter sequence tablename_id_seq start 1;

两条sql都要·执行,例

  1. <delete id="deleteAll">
  2. truncate table tablename;
  3. </delete>
  1. <update id="resSequence">
  2. alter sequence tablename_id_seq restart with 1;
  3. </update>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/409520
推荐阅读
相关标签
  

闽ICP备14008679号