mysql提取.sql备份文件中的单个表以及表数据
背景:随着业务模块的不断在增多,数据库mysql容量也是越来越大,做测试时,整个备份还原比较耗费时间,由于有时候仅仅需要单个表或者少数几个表,要想从整个备份文件中提取指定的表以及数据,需要以下方法。
说明:mysql常规备份还原后续补充。。
废话不说,直接上干货:
1、从整个.sql备份文件中提取表结构
提取"sp_money_detail"表结构(表创建语句)
[root@centos7-50 data]# sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `sp_money_detail`/!d;q' qerpdb_test_v2.sql
DROP TABLE IF EXISTS `sp_money_detail`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `sp_money_detail` (
`spMoneyDetailId` int(11) NOT NULL AUTO_INCREMENT,
`spShopId` int(11) DEFAULT NULL,
`wsWarehouseId` int(11) DEFAULT NULL COMMENT '仓库ID',
`type` tinyint(4) NOT NULL,
`delta` decimal(12,2) NOT NULL,
`result` decimal(12,2) NOT NULL,
`outId` int(11) DEFAULT NULL,
`outNo` varchar(63) DEFAULT NULL,
`createTime` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`spMoneyDetailId`),
KEY `I_sp_money_detail_sid` (`spShopId`)
) ENGINE=InnoDB AUTO_INCREMENT=172068 DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
这样就提取到了表的创建语句。可以直接丢到数据库中进行表的创建
提取表"sp_money_detail"数据(也就是提取表的插入语句)
[root@centos7-50 data]# grep 'INSERT INTO `sp_money_detail`' qerpdb_test_v2.sql
INSERT INTO `sp_money_detail` VALUES ('78156', '252', null, '21', '-4872.00', '-4872.00', '65321', 'MD17121900070', '2017-12-19 15:37:11');
INSERT INTO `sp_money_detail` VALUES ('78157', '253', null, '21', '-100.00', '-100.00', '65324', 'MD17122100040', '2017-12-21 15:50:14');
INSERT INTO `sp_money_detail` VALUES ('78158', '253', null, '21', '-230.00', '-330.00', '65325', 'MD17122100056', '2017-12-21 16:19:38');
INSERT INTO `sp_money_detail` VALUES ('78159', '253', null, '21', '-230.00', '-560.00', '65326', 'MD17122100064', '2017-12-21 16:38:03');
...
此方法,是把创表语句以及数据插入语句打印到控制台,也可以使用重定向的方式,把这些语句输出到指定的文件中。
mysql提取.sql备份文件中的单个表以及表数据的更多相关文章
- SQL Server中bcp命令的用法以及数据批量导入导出
原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...
- 【python】提取sql语句中的表名
前言 最近刚学python,写一个小工具时需要提取sql语句中表名,查询一番后找到一篇文章挺不错的,mark一下 PS.那篇文章是转载的,且没有标注转载自哪里 正文 import ply.lex as ...
- 对于Oracle、mysql和sql server中的部分不同理解
1.在mysql中事务默认是自动提交的,只有设置autocommit为0的时候,才用自己commit:(提到commit不要忘了rollback哦,回滚)2.但是在oracle中必须自己commit: ...
- SQL Server中的Merge关键字 更新表数据
简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...
- MySQL之LEFT JOIN中使用ON和WHRERE对表数据
背景 left join在我们使用mysql查询的过程中可谓非常常见,比如博客里一篇文章有多少条评论.商城里一个货物有多少评论.一条评论有多少个赞等等.但是由于对join.on.where等关键字的不 ...
- oracle和sql server中,取前10条数据语法的区别
在sql server中,取数据中前10条语句,我们可以用top 10 这样语句,但是oracle就没有这个函数,接下来介绍它们之间的区别 1.sql server 取前10语句和随机10条的语法 - ...
- Sql Server中一次更新多列数据
UPATE yourTableName SET column1 = xx, column2 = yy , column3 = zz WHERE yourCondition 举个例子,比如有这样一张表: ...
- mysql通过sql语句如何批量去掉某一个表中某一个字段的下面的相同部分字符串
今天用Excel导入的数据中,前面包含` 批量去除 UPDATE sheet2 set total=replace(total,'`','');
- Mysql动态sql语句,用当前时间做表名
在mysql备份操作中, 我们可能要使用表名和当前时间来做为备份表的名称,但是MySQL在存储过程中不支持使用变量名来做表名或者列名. 例如:有一个表"user",我需要备份一份, ...
随机推荐
- 【反编译系列】二、反编译代码(jeb)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 一般情况下我们都是使用dex2jar + jd-gui的方式反编译代码,在实际使用过程中,有时候发现反编译出来的代码阅读效果不是很好 ...
- MySQL在CenterOS和Ubuntu的安装
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glib ...
- SpringBoot简单打包部署(附工程)
前言 本文主要介绍SpringBoot的一些打包事项和项目部署以及在其中遇到一些问题的解决方案. SpringBoot打包 在SpringBoot打包这块,我们就用之前的一个web项目来进行打包. 首 ...
- Vue父子组件传参新写法
以前我在写接受自定义事件是这么写的: 后来我在官网看到这样一种说法:可以用$event代替emit事件传入的参数,于是我写成了这样: 直到昨天Vetur更新,给我报了这么一个错误: 报错原因:事件不能 ...
- @vue-cli3创建项目报错:ERROR command failed: npm install --loglevel error --registry=https://registry.npm.taobao.org --di
使用@vue-cli3时 在你感觉所以配置都搞好开始创建项目时,不停的报错,就是创建不成功 清npm缓存也不行 改淘宝镜像也不行 就快奔溃了,最后最终(其实我在凑150字,为了能发到首页给更多采坑的兄 ...
- [开发技巧]·Numpy中对axis的理解与应用
[开发技巧]·Numpy中对axis的理解与应用 1.问题描述 在使用Numpy时我们经常要对Array进行操作,如果需要针对Array的某一个纬度进行操作时,就会用到axis参数. 一般的教程都是针 ...
- 基于vue-cli快速构建
基于vue-cli快速构建 https://www.jianshu.com/p/2769efeaa10a Vue是近两年来比较火的一个前端框架(渐进式框架吧),与reactjs和angularjs ...
- jdbc封装的类
JDBCUtil,java package cn.qst.util; import java.sql.Connection;import java.sql.DriverManager;import j ...
- web前端图片上传(3)--filereader
这篇文章主要是为了介绍一种文件上传的方式.当然文件中是包含图片的.如果大家仔细看我的第一篇web前端图片上传(1)就会知道,其实也是按照这种方式上传你的,但是由于上次时间比较紧张,没有详细的介绍今天的 ...
- C#中文件下载的几种方法演示源码
内容过程,把内容过程比较重要的内容做个珍藏,如下的内容是关于C#中文件下载的几种方法演示的内容,应该是对各朋友有较大好处. using System;using System.Data;using S ...