苦于qa账号,木有drop,truncate权限,同步数据要挨个delete表里边的数据,就写了个脚本,循环删除某个目标库的所有表里边的数据。

先在information_schema的库里边,通过TABLES的表(注意此处是大写,后边有些必须是大写,自己可以去了解下这个数据库的作用)去获取目标数据库中包涵那些表,然后通过循环逐个delete表中的数据,然后就可以同步数据了。

同步数据的时候需要注意:很多都是通过id自增列进行表连接的,但是如果新插入一列(不带id),id会随着增长,所以insert的时候,要把id带上,通过mysqldump把数据导出来,然后整个insert到目标库。

#!/bin/bash
host="你的数据库host"
user="你的数据库密码"
pwd="beta库的密码" conStr="mysql -h$host -u$user -p$pwd --database=information_schema"
#$conStr -e "use information_schema;"
conStr2="mysql -h$host -u$user -p$pwd --database=$1"
lista=$($conStr -e "select TABLE_NAME from TABLES where TABLE_SCHEMA='$1';")
echo "starting................."
for i in $(echo $lista)
do
if [[ $i == "TABLE_NAME" ]];then
continue
else
echo "deleting the data of $i"
$conStr2 -e "delete from $i"
fi
done
echo "Ending...................."

简单说下drop,delete,truncate。
drop:就是直接干掉,一下子就木有了,表结构和数据都木有了,如果需要表,还需要自己crete,很快。

delete:只操作数据,逐行删除,而且自增的id也不会消除,数据很多时很慢,但是delete的优点是可以根据某一条件进行删除。

truncate:直接干掉,并自动重新建表,数据都( _ )/~~拜拜了。

可以多了解了解mysql的infromation_schema和performance_schema库的作用。

如何快速delete数据的更多相关文章

  1. 在ASP.NET Core中使用Apworks快速开发数据服务

    不少关注我博客的朋友都知道我在2009年左右开发过一个名为Apworks的企业级应用程序开发框架,旨在为分布式企业系统软件开发提供面向领域驱动(DDD)的框架级别的解决方案,并对多种系统架构风格提供支 ...

  2. MySQL 之 LOAD DATA INFILE 快速导入数据

    SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...

  3. 1118ALTER TABLE tabname DISCARD TABLESPACE快速导入数据利用表空间

    -- 快速导入数据如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:相当快速 1. 发出这个ALTER TABLE语句: 2. ALTER TABLE tb ...

  4. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  5. mysql数据库delete数据时不支持表别名

    今天在帮同事查看一条删除的SQL语句执行出错的问题 SQL语句如下: 1 DELETE FROM LEAD_SYSTEM_MENU_ORG_REF as t WHERE t.resourceid='4 ...

  6. 转】mysql数据库delete数据时不支持表别名

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4012853.html 感谢! 今天在帮同事查看一条删除的SQL语句执行出错的问题 SQL语句如下: 1 DELE ...

  7. 使用Sql语句快速将数据表转换成实体类

    开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...

  8. 使用Chrome快速实现数据的抓取(四)——优点

    些一个抓取WEB页面的数据程序比较简单,大多数语言都有相应的HTTP库,一个简单的请求响应即可,程序发送Http请求给Web服务器,服务器返回HTML文件.交互方式如下: 在使用DevProtocol ...

  9. Sqlite 快速插入数据到本地表中

    用原始Insert方法太慢,网上找到了https://www.cnblogs.com/yisen-code/p/6897524.html 思路是: 开启事务,开启预处理,然后把SQL用参数传入具体值来 ...

随机推荐

  1. MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能

    MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能 Clicks: Date: -- :: Power By 李轩Lane TagMysql计数器高性能 现在有很多的项目,对计数器的实现 ...

  2. 设置VMWARE通过桥接方式使用主机无线网卡上网

    原文:http://www.cnblogs.com/liongis/p/3265458.html 环境:WIN7旗舰版,台式机,U盘无线上网卡. 虚拟软件:VMware9.0,虚拟系统:CentOS6 ...

  3. ASP.NET和JSP相似方法总结(持续中。。)

    一.HTTP请求处理 1.获取GET请求数据 ASP.NET:Request.QueryString[name] JSP:request.getParameter(String name); 2.解决 ...

  4. ZOJ 2677 Oil Deal(最大生成树)

    题意:破坏石油管道,现一直破坏各个管道所要付出的代价,问在有一定money并且要保证剩余的管道为生成树的情况下, 最多能破坏多少个管道,并将他们的编号从小到大输出来 思路:将边从大到小排序,构造生成树 ...

  5. LINGO使用教程(一)

    LINGO是用来求解线性和非线性优化问题的简易工具.LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果. 1.LINGO快速入门 当你在 ...

  6. 动态调用wcf接口服务

    1.url:http://localhost:8002/名称.svc/basic(.svc结尾) 2.需要引用的命名空间System.ServiceModel 3.调用代码: public class ...

  7. ExtJs之Ext.core.DomQuery

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  8. mysql使用过程中碰到的问题

    start job failed to start mysql ubuntu 原因时我将var整个目录的组权限设置为www-data了, 试了网上的办法都不行(有个妥协方法是重新安装, 但很不好), ...

  9. awk除去重复行

    awk去除重复行,思路是以每一行的$0为key,创建一个hash数组,后续碰到的行,如果数组里已经有了,就不再print了,否则将其print 测试文件: 用awk: 用sort+uniq好像出错了: ...

  10. Ubuntu刷新DNS

    linux刷新dns的缓存方法是: sudo /etc/init.d/nscd restart 如果发现提示命令找不到: sudo: /etc/init.d/nscd: command not fou ...