`

MySQL用存储过程备份数据库表

阅读更多

数据库: MySQL5.1

操作工具:SQLyog企业版

 

首先在一个数据库中有一张user表,里面有一些数据,我们想把它通过存储过程备份到user_arc(本来没有的表)中。储存过程的sql如下:

 

DELIMITER $$

USE `nn`$$

DROP PROCEDURE IF EXISTS `arcUser`$$
-- 上面是自动生成的

CREATE DEFINER=`root`@`localhost` PROCEDURE `arcUser`(IN orgitable CHAR(10))
-- 这里传入将被备份的数据库表名字 orgitable
BEGIN
    SET @stmt = CONCAT("create table ",orgitable,"_arc","(Select * from user);");
-- 因为我们用orgitable代表数据库表名,所以不能用普通的语句如:create table orgitable + "_arc" (Select * from orgitable)
    PREPARE stmt FROM @stmt;
    EXECUTE stmt;
    END$$

DELIMITER ;

 

然后去call这个arcUser,把要备份的表名传进去啊,例如“User”.

 

注:Oracle10g实现这个功能和mySQL的有所不同,如下:

create or replace package body pdc is

procedure arcUser(tableName varchar2)
as

createSQL varchar2(200);
begin
createSQL := 'create table '||tableName||'_arc as select * from '||tableName||';
-- 注意,这里连接字符串应该用||,而不是java中的+
execute immediate createSQL;
commit;
end;

end; 

 

 

 

                                                                                        by  NN  2009-10-13

分享到:
评论
2 楼 nneverwei 2009-10-20  
winter8 写道
怎么试着不顶用,晕!

请问你出现了什么错误?我是自己试过可以成功才贴上来的哦
1 楼 winter8 2009-10-20  
怎么试着不顶用,晕!

相关推荐

    mysql存储过程——用于数据库的备份与还原

    2. **复制表结构**:使用`SHOW CREATE TABLE`语句获取表的创建语句,然后在备份数据库中执行这些语句来创建相同的表结构。 3. **填充备份数据**:这是存储过程的关键部分。通过遍历所有需要备份的表,你可以使用`...

    mysql数据库自动定时备份

    对于更复杂的场景,如多个数据库备份、网络备份或压缩备份,你可能需要编写脚本或者使用第三方工具,如Percona XtraBackup或MySQL Workbench。这些工具提供了更多功能,如并行备份、在线备份等。 最后,记得定期...

    nbu&mysql备份恢复.docx

    * 完整的数据保护:NBU可以保护mysql数据库中的所有数据,包括结构、索引、视图、存储过程等。 *灵活的备份策略:NBU提供了多种备份策略,例如全备份、增量备份、差异备份等,可以根据实际需要选择适合的备份策略。 ...

    mysqldump java远程备份mysql数据库 cmd备份

    MySQL是世界上最流行的关系型数据库管理系统之一,而mysqldump工具是MySQL提供的一个命令行实用程序,用于备份数据库或导出数据。在这个5.6.12版本中,我们可以利用它进行远程数据库备份,这对于数据库管理和维护至...

    mysql自动备份数据库脚本

    MySQL自动备份数据库脚本是IT运维中的重要环节,它能够定期保存数据库数据,防止数据丢失,确保业务连续性。在本场景中,我们有一个名为`auto_mysql_back.sh`的shell脚本,它用于自动化MySQL数据库的备份过程。下面...

    定时备份数据库,及问题总结 亲测有效

    【定时备份数据库】是保障数据安全的重要措施,尤其是在企业级应用中,确保数据的完整性和可恢复性至关重要。本文将详细介绍如何在Linux环境下,利用MySQL数据库的`mysqldump`工具实现定时备份,并提供了一个亲测...

    MySQL数据库备份和恢复

    - **InnoDB表**:所有数据存储在一个或多个共享的文件中,备份复杂度较高,推荐使用二进制日志备份或mysqldump进行逻辑备份。 #### 最佳实践 1. **定期备份**:根据业务需求制定合理的备份策略,如每日、每周或每...

    Mysql数据库备份(一)-数据库备份和表备份.docx

    2. 在了解数据库服务器中的库和表的基本情况下,我们使用命令备份数据库 ssh 下的表acc 的数据作为案例演示。 三、Mysql 备份多个数据库 数据库备份其实都是差不多的语句,他们最基本的差异就是添加一些命令用于...

    java备份mysql数据库

    5. **执行SQL语句**:备份数据库可能涉及到运行SQL脚本来导出数据。Java程序可以通过JDBC接口执行这些脚本,例如`mysqldump`命令可以用来导出整个数据库或者特定的表。 6. **文件操作**:为了保存备份数据,Java...

    C#实现MySQL数据库的备份、还原和初始化

    本文将详细介绍如何使用C#来实现MySQL数据库的初始化、备份和还原功能。 首先,数据库的初始化通常指的是创建一个新的数据库。在C#中,你可以通过执行SQL语句来完成这一过程。在给出的代码示例中,`GetExecute`方法...

    mysql 自动备份数据库脚本

    1. **SQL备份命令**:在MySQL中,我们可以使用`mysqldump`命令来备份数据库。这个命令可以导出数据库结构以及数据,生成一个可执行的SQL文件,用于恢复数据库。例如,备份整个数据库的基本命令格式是: ```bash ...

    C# MySQL数据库备份还原

    例如,在备份数据库时,可以使用多线程来并发备份多个数据库文件,以提高备份速度。在还原数据库时,可以使用多线程来并发还原多个数据库文件,以提高还原速度。 知识点六:错误处理 在C#中,错误处理是非常重要的...

    数据库快速备份表结构

    这个话题主要关注如何高效地备份数据库中的表结构,以便在需要时能够迅速恢复。 表结构是数据库设计的基础,包含了数据库的模式信息,如表名、字段名、字段类型、约束条件等。备份表结构可以确保在系统故障、数据...

    Windows下MySql数据库增量全量备份

    在Windows环境下,MySQL数据库的管理和维护是至关重要的任务,其中包括数据的安全备份与恢复。本教程将详细介绍如何利用`mysqldump`和`mysqlbinlog`工具进行全量备份、增量备份以及数据库的还原操作。 全量备份是...

    C#备份还原mysql数据库

    通常,备份数据库的SQL语句是`mysqldump`命令,但在C#中,我们需要通过执行系统命令的方式来调用它。例如: ```csharp ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "mysqldump.exe"; psi....

    自动备份mysql数据库

    最后一步是使用`mysqldump`命令来备份数据库,这部分内容在给定的示例代码中没有完整展示,但可以推测其大致逻辑如下: - 针对`BAK_db_myisam`和`BAK_db_innodb`中的每个数据库名称,使用`mysqldump`命令进行备份。 ...

    mysql数据库备份工具

    1. 快速备份:工具能够快速扫描并打包MySQL数据库中的所有表,生成SQL脚本或者二进制文件,从而实现快速备份。 2. 自动化调度:可能支持定时备份功能,用户可以设置定时任务,让工具自动在指定时间执行备份,确保...

    php备份整个MySQL数据库,或者指定表的类

    这个类将允许我们不仅备份整个数据库,还可以选择性地备份特定的表,极大地提高了灵活性。 首先,我们需要了解PHP与MySQL交互的基础知识。PHP通过MySQLi或PDO_MySQL扩展与MySQL服务器通信。这两个扩展提供了连接、...

    mysql数据库每天凌晨3点备份数据库的脚本

    MYSQL_DATABASES="database1, database2" # 多个数据库用逗号分隔 ``` 2. **创建备份目录**:脚本会在指定路径下创建一个新的备份目录,用于存放当天的备份文件。 ```bash DATE=$(date +%Y%m%d) BACKUP_DIR="/path...

    [数据库] Navicat for MySQL定时备份数据库及数据恢复1

    ### 一、设置计划任务定时备份数据库 1. 首先,创建一个名为`hcpmanage`的数据库,并在其中建立一个名为`information`的表,用于存储车票信息。 2. 打开Navicat,点击“任务”菜单,然后选择“新建批处理作业”。这...

Global site tag (gtag.js) - Google Analytics