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 ;
分享到:
相关推荐
MySQL是世界上最受欢迎的关系型数据库管理系统之一,主要用于存储和管理结构化数据。本压缩包包含的是MySQL的客户端和服务器端的5.6.29版本,适用于Linux_glibc2.5.x86_64架构。这个版本在当时是MySQL的一个稳定版本...
MySQL Connector/J 8.0.17 版本是针对MySQL服务器8.0系列的,这意味着它支持该版本的所有新特性,如InnoDB存储引擎的增强、JSON数据类型的支持、窗口函数以及并行复制等。此外,这个版本也包含了一些性能优化和错误...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java-8.0.20.jar`是MySQL针对Java开发的官方驱动程序,用于在Java应用程序中与MySQL数据库进行通信。这个驱动,也称为JDBC(Java Database ...
它支持多种操作系统,并提供了丰富的功能集,包括事务处理、复制、存储过程等,适用于各种规模的应用,从小型网站到大型企业级系统。 Java,作为一种多平台的开发语言,具有跨平台性、面向对象和强大的库支持等特点...
本文将详细介绍MySQL 8.0.20的安装过程,该版本适用于Linux发行版中的EL7(Enterprise Linux 7,如CentOS 7)。提供的压缩包文件名为`mysql-8.0.20-el7-x86_64.tar.gz`,这是一个针对64位系统的tar归档文件,包含了...
此外,开发者还可以使用JDBC的CallableStatement来调用存储过程,或者利用MySQL的特定特性,比如分区表,视图,触发器等。 总的来说,`mysql-connector-java-5.1.49.tar.gz`是一个对于Java开发者至关重要的组件,它...
MySQL是世界上最受欢迎的开源数据库系统之一,特别是在Web应用程序中。MySQL 5.5.40是这个数据库管理系统的一个特定版本,发布于2013年,它...通过了解其特性和安装过程,用户可以更好地管理和利用MySQL数据库系统。
MySQL是世界上最受欢迎的关系型数据库管理系统之一,其稳定性和性能使其在Web开发、企业级应用以及各种数据存储解决方案中广泛使用。对于Java开发者来说,能够连接MySQL数据库是非常关键的技能。本压缩包提供了针对...
MySQL Connector/J还支持JDBC的高级特性,如批处理、存储过程、游标、多结果集等。此外,它还支持MySQL的特性,如SSL连接、分区表、复制和负载均衡。 总结来说,"mysql-connector-j-8.0.31"是Java开发者连接MySQL...
总之,JMeter连接MySQL数据库的过程涉及了JDBC Connection Configuration的配置、mysql-connector-java驱动的引入以及JDBC Request的使用。熟练掌握这些知识点,能帮助我们在性能测试中有效地评估和优化数据库性能。...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,尤其在Web应用程序中被广泛使用。这个“mysql-5.5.36-win32数据库安装.zip”压缩包提供了适用于32位Windows操作系统的MySQL 5.5.36版本的安装文件。MySQL 5.5...
2. **社区服务器**:MySQL Community Server是开源的,由MySQL社区维护和开发,提供了完整的数据库服务功能,包括SQL支持、事务处理、复制、安全性和备份等。 3. **x86_64架构**:这个版本是为64位系统设计的,意味...
MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在MySQL数据库上执行CRUD(创建、读取、更新、删除)操作...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其5.7版本是它的一个重要里程碑,引入了许多性能提升和新特性。`mysql-5.7.27-1.el7.x86_64.rpm-bundle`文件是专为Linux系统(特别是Red Hat Enterprise ...
MySQL Connector/J 8.0.30 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包`mysql-connector-java-8.0.30.tar`包含了运行Java应用并与MySQL进行...
此外,`mysql-connector-java-5.1.25.jar`还包含了对MySQL特定特性的支持,如存储过程、触发器、视图、用户定义函数(UDF)等。它还支持MySQL的一些高级功能,如分区表、复制、InnoDB事务隔离级别等。 值得注意的是,...
MySQL是世界上最流行的关系型数据库管理系统之一,尤其在Web应用程序中广泛应用。版本8.0.26是MySQL的一个重要更新,提供了许多性能优化、安全性增强和新功能。在Windows平台上,MySQL通常以安装程序或zip文件的形式...
在Eclipse中连接MySQL数据库,需要一个关键的组件——MySQL的Java连接器(JDBC驱动),即mysql-connector-java。本篇将详细介绍如何在Eclipse中使用`mysql-connector-java-bin.jar`来实现与MySQL数据库的连接。 ...
1. **InnoDB存储引擎增强**:InnoDB作为MySQL的默认存储引擎,得到了大量优化,包括更快的行锁定、更好的并发性能以及支持更大的表空间。 2. **JSON支持**:MySQL 8.0增强了对JSON数据类型的处理,提供了丰富的函数...
MySQL数据库在进行大量数据操作时,实时同步和备份是非常重要的需求。`mysql-binlog-connector-java` 是一个用于读取 MySQL 二进制日志(binlog)的Java库,它可以帮助开发者实现实时的数据复制、数据同步以及增量...