DELIMITER $$
USE `bjcmdb`$$
DROP PROCEDURE IF EXISTS `pro_database_backup`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_database_backup`(IN databaseName CHAR(40))
BEGIN
##定义变量
DECLARE tableName VARCHAR(40);
DECLARE oldtableName VARCHAR(40);
DECLARE newtableName VARCHAR(40);
DECLARE cur_stop INT DEFAULT 0;
##首先这里对游标进行定义
DECLARE cur_tableName CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'bjcmdb' AND TABLE_NAME NOT IN ('c_basisline');
##这个是个条件处理,针对SQLSTATE '02000'的条件
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET cur_stop = NULL;
##创建数据库
SET @createDatabaseSql :=CONCAT("create database ",databaseName,";");
PREPARE STMT FROM @createDatabaseSql;
EXECUTE STMT;
## 格式化数据库名称
SET databaseName=CONCAT(databaseName,".");
## 开启游标
OPEN cur_tableName;
/*游标向下走一步,将查询出来的值付给定义的变量*/
FETCH cur_tableName INTO tableName;
##直到查询结果为空时结束遍历
WHILE ( cur_stop IS NOT NULL) DO
##赋表名
SET oldtableName=CONCAT('bjcmdb.',tableName);
SET newtableName=CONCAT(databaseName,tableName);
##创建表,包括表结构和索引
SET @createsql :=CONCAT("CREATE TABLE ",newtableName," LIKE ",oldtableName,";");
PREPARE STMT FROM @createsql;
EXECUTE STMT;
##复制数据到指定库的表
SET @insertsql :=CONCAT("INSERT INTO ",newtableName," SELECT * FROM ",oldtableName,";");
##SELECT @insertsql;
PREPARE STMT FROM @insertsql;
EXECUTE STMT;
FETCH cur_tableName INTO tableName;
END WHILE;
CLOSE cur_tableName;
END$$
DELIMITER ;
分享到:
相关推荐
数据库备份的存储过程,创建一个备份库,表自动搜索和复制,可以自定义要备份的表
30道经典mysql面试题 当面试MySQL数据库开发职位时,以下是一些经典的MySQL面试题供参考: 什么是数据库?什么是关系数据库管理系统(RDBMS)? 什么是SQL?...什么是数据库复制?如何实现数据库的主从
MySQL 社区版是全球广受欢迎的开源数据库的免费下载版本。它遵循 GPL 许可协议,由庞大、活跃的开源开发人员社区提供支持。 MySQL 社区版包括: 可插拔的存储引擎架构 多种存储引擎: InnoDB MyISAM NDB (MySQL ...
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。 我们也可以将数据存储在文件中,但是在文件中读写数据...
这些MySQL面试题涵盖了数据库设计、存储过程和触发器、数据库复制和集群等方面的知识点,测试了面试者的MySQL数据库基础知识、问题解决能力和实际应用能力。 通过回答这些问题,面试者可以展现自己熟练掌握MySQL...
MySQL BinLog复制器 该库将使您能够创建从mysql数据库到ElasticSearch等的实时馈送(所有存储库在Spring可用,实际上扩展了CRUDRepository接口)。安装玛文<dependency> <groupId>fr.juanwolf</groupId> ...
乐优商城2018年最新57期的sql创建文件。因为资料不相符,所以在此分享给大家,有其他需要资料可以提出共享。注:此文件存储在百度云中提供下载。打开txt,复制到浏览器即可下载。
MySQL5.1 中文手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版。 -------------------------------------------------------------------------------- ...
MySQL存储过程之java调用 9 MySQL存储过程实现动态查询 12 MySQL应用总结 12 MySQL数据管理 15 数据管理 15 MySQL数据导出 15 MySQL数据还原 15 MySQL灾难性复制恢复总结 16 MySQL授权管理 17 未解决及已解决问题 19...
非存储过程操作类,如果要用到存储过程的话,自已修改里面的代码,里面的存储过程被我注释了。 至于调用方法,应该不用我说下载者应该也懂得吧,如果是对C#一巧不通的初学者,不懂也不要怪我,可以问我,或问懂点的...
DBA MySQL数据库工程师(2021版)视频教程 课程大纲: 第1章 MySQL简介及安装 第2章 MySQL基础管理 第3章 SQL语句基础应用 第4章 索引的基本管理 第5章 存储引擎 第6章 日志管理 第7章 备份恢复 第8章 主从复制基础 ...
大型网站架构设计方案 ——数据库存储设计 方案一:Mysql Cluster (Mysql集群) 数据库系统介绍 高性能、高可用性、冗余和可扩展性,数据在集群内部的对等数据节点之间相互复制。 数据复制采用同步机制,每个数据...
03-mysql主从复制介绍及分布式数据库架构实现介绍.avi 04-主从同步的应用场景及切换从库不丢数据多方案介绍.avi 05-mysql数据库读写分离介绍及企业生产实现方案.avi 06-根据企业业务拆分业务应用到不同的从库思想....
│ 602-存储过程_rec.mp4 │ 603-触发器_rec.mp4 │ 604-自定义函数_rec.mp4 │ 605-视图_rec.mp4 │ 606-外键与缓存_rec.mp4 │ 607-缓冲应用方案_rec.mp4 │ 608-事务_rec.mp4 │ 609-总结_rec.mp4 │ 610-预习...
数据库存储引擎, 数据库连接池, 数据库分库分表, 数据库复制, 数据库扩展, 数据库调优, 数据库架构mysql, 面试题, 数据库, 数据管理, 数据库管理, 数据库设计, sql, 数据查询, 数据库优化, 数据库安全, 数据库备份,...
这个是MySQL5.5再contos6下的安装方法 MySQL 是...索引的优化策略,了解innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握explain、show profile、慢查询日志等日常SQL诊断和性能分析策略。
·介绍MySQL 5.0和5.1的新特性,例如存储过程、分块数据库、触发器和视图。 ·具体细致地讨论如何使用MySQL构建出一个大型的、高伸缩性的系统。 ·可用于备份和复制的新方法。 ·对高级查询功能特性进行优化...
将GitHub数据(问题,标签等)同步到MySQL数据库。 特征: 同步问题并拉取请求 支持多页结果 同步标签 同步里程碑 入门 克隆存储库或并解压缩 运行composer install 复制.env.dist以创建.env文件 通过运行./...
1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...