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",我需要备份一份, ...
随机推荐
- ZZCMS v8.2 前台Insert注入+任意文件删除
前几天看了水泡泡老哥的zzcms的审计,在论坛上一搜发现这个cms有不少洞.听说很适合小白练手,所以来瞅一瞅.不知道我发现的这个洞是不是已经被爆过了,如果雷同,纯属巧合. 一.Insert注入,直接返 ...
- okhttputils【 Android 一个改善的okHttp封装库】使用(三)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这一篇主要讲一下将OkHttpUtils运用到mvp模式中. 数据请求地址:http://www.wanandroid.com/to ...
- 知识小罐头07(tomcat8请求源码分析 下)
感觉最近想偷懒了,哎,强迫自己也要写点东西,偷懒可是会上瘾的,嘿嘿!一有写博客的想法要赶紧行动起来,养成良好的习惯. ok,继续上一篇所说的一些东西,上一篇说到Connector包装了那两个对象,最后 ...
- 『练手』005 Laura.SqlForever历史遗留 的 架构思想缺陷
005 Laura.SqlForever历史遗留 的 架构思想缺陷 我们 比较一下 Laura.WinFramework 和 Laura.XtraFramework 的差异: Laura.WinFra ...
- vue-router导航守卫(router.beforeEach())的使用
好久没写一些东西了,总是感觉有啥缺少的.~~~~恰好碰到最近在写一个移动端项目,遇到了如何使同一个链接在不同条件下跳转到不同路由组件问题,譬如大家经常看到手机中没登录跳转登录页,登陆后跳转个人信息页等 ...
- Python:用 peewee 框架连接 SQL Server
Peewee 默认支持 Sqlite.MySQL.PostgreSQL 三种数据库,如果要使用其他数据库,需要同时安装扩展库.比如 SQL Server,需要安装 peewee-mssql. 但是安装 ...
- JAVA WEB快速入门之环境搭建
前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得 ...
- ado.net的简单数据库操作(二)之封装SqlHelperl类
今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...
- 关于C# 中的布尔运算符 "&" "|” 与 其类似的条件布尔运算符 "&&" "||" 区别说明。
运算符使用说明如下: 分隔符 ———————————————————————————— 分隔符 ———————————————————————————— 上述两个运算符的结果与&和 | 完全 ...
- ASP.NET应用程序服务器集群方案
本文采用Nginx来实现ASP.NET程序集群化. 准备环境 首先准备Nginx环境,Windows版本下载链接:http://nginx.org/en/download.html 解压后文件格式如下 ...