如何快速delete数据

苦于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库的作用。

时间: 2025-01-02 09:13:47

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

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

不少关注我博客的朋友都知道我在2009年左右开发过一个名为Apworks的企业级应用程序开发框架,旨在为分布式企业系统软件开发提供面向领域驱动(DDD)的框架级别的解决方案,并对多种系统架构风格提供支持.这个框架的开发和维护我坚持了很久,一直到2015年,我都一直在不停地重构这个项目.目前这个项目在Github上也得到了将近260的推荐数,很多对技术感兴趣的朋友也一直与我保持着联系和交流,甚至还有爱好者自发组成了技术讨论群,专门讨论分享Apworks框架. 然而,随着软件开发技术和.NET的发展

(4.10) 快速导入数据

SQL Server快速导入数据分享 Posted in Other and tagged Database, 数据库, MSSQL, SQL Server, 导入数据, 分享on Apr 26, 2014. Viewd 61 times. 目录 目录 1.CTE 2.OpenRowSet/OpenDataSource 3.BULK INSERT 4.bcp 5.Shell 文/温国兵 SQL Server快速导入数据,可以尝试的方法如下:CTE.OpenRowSet/OpenDataSourc

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

些一个抓取WEB页面的数据程序比较简单,大多数语言都有相应的HTTP库,一个简单的请求响应即可,程序发送Http请求给Web服务器,服务器返回HTML文件.交互方式如下: 在使用DevProtocol驱动Chrome抓取数据时,交互过程则如下图所示: 此时Chrome在中间充当了一个代理的角色,看上去变得更加复杂了,实际上却对于我们的蜘蛛程序大有帮助.本文就简单的总结下这种方式存在如下优点. 获取动态生成的网页内容 现在很多的网页内容的内容并不是一开是就能直接通过最初的Http请求直接获取到的,

快速创建数据大绝招

作为程序员,创建数据库,输入数据的时候,都会有个量的问题,少了好说,多了呢,上千上万条怎么办?一个个输入的话那不是要死人? 还好,咱有妙招,不多说了,直接进入正题:如何把word文件数据快速生成数据! 准备条件:word.Excel (我用的是wps,Excel使用上有点区别,一会介绍): 还有 EditPlus 说白了也就是EditPlus绝妙用法: 先看原来word文件数据是这样的 选中,复制出来=> 粘贴到EditPlus中,先预备好创建代码=> 同样的代码快速复制,请狠狠的按Ctrl+

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

今天在帮同事查看一条删除的SQL语句执行出错的问题 SQL语句如下: 1 DELETE FROM LEAD_SYSTEM_MENU_ORG_REF as t WHERE t.resourceid='4028812348f28b890148f29253a80000' 这条SQL语句放到Oracle数据库中去执行是可以正常执行的,但是放到MySQL数据库中执行时就出现了如下的错误: 1 [Err] 1064 - You have an error in your SQL syntax; check

MySQL中快速复制数据表方法汇总

本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: 将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下: CREATE TABLE mytbl_new LIKE production.mytbl; INSERT mytbl_new SELECT * FROM production.mytbl; 第一个命令

KVC方法快速为数据对象赋值

利用KVC方法快速为数据对象赋值,如下例 在.h文件中声明如下形式方法: - (id)initWithDic:(NSDictionary *)dic; 在对应.m文件中 - (id)initWithDic:(NSDictionary *)dic { self = [super init]; if (self) { [self setValuesForKeysWithDictionary:dic]; } return self; } 同时实现下面方法 ,实现内容一般不写(必须实现,否则无法使用KV

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

开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare @TableName sysname = 'TableName' declare @Result varchar(max) = 'public class ' + @TableName + ' {' select @Result = @Result + ' public ' + ColumnType

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

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名 [Gid] [int] IDENTITY (1, 1) NOT NULL , --本表的id号,也是主键 [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件