mysql 备份大表 存储过程_mysql批量备份表的存储过程写法
1.在工作会遇到这种情况,mysql数据库,系统涉及到备份多表数据,为了方便,用存储过程来实现此功能,同时也复习一下存储过程的写法,同时记录下方便以后扩展修改
2.存储过程代码如下
-- 创建存储过程
CREATE PROCEDURE test_01()
BEGIN
-- 定义变量
DECLARE s int DEFAULT 0;
DECLARE monitorTable varchar(255);
DECLARE countTable varchar(256);
DECLARE countTableNew varchar(256);
-- 定义游标,并将sql结果集赋值到游标中
DECLARE report CURSOR FOR select DISTINCT monitor_table,count_table from t_monitorinfo ;
-- 声明当游标遍历完后将标志变量置成某个值
DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
-- 打开游标
open report;
-- 将游标中的值赋值给变量,注意:变量名不要和返回的列名同名,变量顺序要和sql结果列的顺序一致
fetch report into monitorTable,countTable;
-- 当s不等于1,也就是未遍历完时,会一直循环
while s<>1 do
-- 执行业务逻辑
set countTableNew = concat(countTable,'_bak');
-- 表名是参数的语法
SET @STMT =CONCAT("CREATE TABLE ",countTableNew," LIKE ",countTable,";");
PREPARE STMT FROM @STMT;
EXECUTE STMT;
SET @STMT2 =CONCAT("INSERT INTO ",countTableNew," SELECT * FROM ",countTable,";");
PREPARE STMT2 FROM @STMT2;
EXECUTE STMT2;
-- 表名非参数的语法
-- update patrolreporthistory set reportUrl = CONCAT('patrolReport.html?monitorId=',substring(report_url,15,1),'&reportId=',report_id) where reportId=report_id;
-- 将游标中的值再赋值给变量,供下次循环使用
fetch report into monitorTable,countTable;
-- 当s等于1时表明遍历以完成,退出循环
end while;
-- 关闭游标
close report;
END;
mysql 备份大表 存储过程_mysql批量备份表的存储过程写法相关推荐
- mysql批量修改学号位数_mysql批量修改表前缀
如何快速批量修改文件名我们有时候在网页上,下载了好多自己喜欢的图片,一个个修改太麻烦了,想要快速 批量的修改文件名,其实,在你的 Windows 电脑上批量修改文件名...... 如何在 WPS 表格 ...
- mysql备份到带库_MySQL数据备份
MySQL数据备份 一. MySQL数据损坏类型 1.1.物理损坏 磁盘损坏: 硬件,磁道坏,dd,格式化 文件损坏: 数据文件损坏,redo损坏 1.2.逻辑损坏 drop delete trunc ...
- mysql 备份多个数据库_mysql——数据库备份——使用mysqldump命令备份一个或者多个数据库...
mysqldump命令备份一个或者多个数据库: 语法格式:mysqldump -u username -ppassword --databases dbname1 dbname2-- > bac ...
- mysql备份恢复文档_mysql数据库备份、恢复文档
说明: 为了加强线上数据库安全,避免研发人员误操作造成数据的丢失,制作本文档.一线运维人员可以参考! 一.数据备份: 专用数据库备份服务器,定时对数据库进行热备.冷备,即主从设置.mysqldump冷 ...
- mysql 创建表字段长度范围_Mysql的建表规范与注意事项
一. 表设计规范 库名.表名.字段名必须使用小写字母,"_"分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 建议使用Inno ...
- mysql pdo 插入没效果_MySQL分库分表后用PHP如何来完美操作
当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间分库 1)按功能分 用户类库.商品类库.订单类库.日志类.统计类库... ...
- mysql myisam转innodb_Mysql MyISAM数据库批量转换表引擎为Innodb
Mysql MyISAM数据库批量转换表引擎为Innodb 最近在做事物处理需要把表结构都改为带有支持事物的Innodb引擎格式, 把里面数据库 用户名.密码 等信息修改为你自己的,放在网站下运行即可 ...
- mysql 临时表增加主键_MySQL之重建表
//MySQL之重建表// 在MySQL中,如果我们对大表频繁进行insert和delete操作,那么时间一长,这个表中会出现很多"空洞",也就是表碎片. 碎片产生的原因是inse ...
- mysql innodb表损坏_MySQL数据库INNODB表损坏修复处理过程分享
##状况描述 突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了.innodb表损坏不能通过repair table 等修复myisam的命令操作.现在记录下解决 ...
最新文章
- Asp.net的Session和Cookie传值方式
- vue填坑指南之模板的使用
- d3.js--04(enter和exit)
- AndroidLinker与SO加壳技术之下篇
- kubelet启动失败_《蹲坑学kubernetes》之10-1:kubelet原理详解
- pthread vs openMP之我见
- C++快速排序(二)
- FlashBuilder 4.5 安装图解
- Linux文件夹打包发送到本地
- HDU2076 夹角有多大【水题】
- bzoj 1058: [ZJOI2007]报表统计(set+multiset)
- 锂电池荷电状态预测方法
- C语言关系运算和逻辑运算
- app抓包工具_安卓APP逆向入门分析——破解某APP登陆请求参数
- [spfa][数论]JZOJ 4722 跳楼机
- 跟踪状态(TASK_TRACED)
- Win10系统截图新工具的快捷键
- 秀米怎么添加pdf附件「教程」
- TCP协议(Transmission Control Protocol)
- 不知道怎样做自媒体视频剪辑?分享几个必备素材网站
热门文章
- js根据月数计算有效日期_你真的看懂产品生产日期了么
- asarray java,Java
- (pwn) C语言 write函数且使用write函数泄露 libc版本
- 5道python基础中while循环练习题
- Python命令行运行文件的实例方法
- python 中五种常用的数据类型
- python嵌套列表知多少
- python学习-之汉诺塔实现
- resoult在python啥意思,python - __lt__而不是__cmp__
- linux没有mysql.server,[linux]centos7下解决yum install mysql-server没有可用包