mysql批量清空表数据脚本

今天手中拿到个之前的db,我要做测试,但是里面表结构比较多,确认数据已经没有用了,但是表结构不知道 有没有用;所以想着把里面的数据给清空了;奈何数据太多,schema都有2k多了,这一个个敲命令得搞死

写了个脚本做记录,以后用到就拿过来复用;

#!/bin/bash


mysql --login-path=localhost -e "use information_schema;select table_schema,table_name from tables where table_schema !='sys' and table_schema != 'performance_schema' and table_schema != 'mysql' and table_schema != 'information_schema';" | awk '{print "truncate table "$1"."$2";"}' | grep -Ev "table_schema.table_name" > purge.sql

IFS=$'\n';
# 修改换行符,每次取一行
for i in `cat purge.sql`
do
        mysql --login-path=localhost -e "set foreign_key_checks=0;$i";
        #关闭外键约束
done
mysql --login-path=localhost -e "set foreign_key_checks=1;"
#最后启用外键约束
echo "purge OK;"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值