Mysql 使用存储过程创建100张表

博主在做分表时遇到需创建100张表的情况,手动创建麻烦,于是使用存储过程实现,并记录了创建存储过程函数以及执行函数创建表的过程。

今天在做分表时候,遇到需要创建100张表的情景,手动创建太麻烦,使用存储过程实现了,记录下。

  1. 创建存储过程函数:
DELIMITER $$
CREATE  PROCEDURE `createRecordTables`()
begin
    declare i int;
    set i=1;
    while i<100 do
        IF i<10 THEN
        set @tb = CONCAT('create table table0',i,' like crm_customer_record00');
        ELSE
        set @tb = CONCAT('create table table',i,' like crm_customer_record00');
        END IF;
        PREPARE create_stmt FROM @tb;
        EXECUTE create_stmt;
       set i=i+1;
    end while;
end $$;
DELIMITER ;
  1. 执行函数创建表:
CALL createRecordTables();
### 创建 MySQL 的备份方法 为了在 MySQL创建指定的备份,可以采用多种方式来完成这一操作。一种常见的方式是通过 SQL 语句直接创建一个新的格并将原的数据复制进去。 #### 使用 `CREATE TABLE` 和 `SELECT` 结合的方法 这种方法允许快速有效地创建一个新并填充来自现有的数据: ```sql CREATE TABLE backup_table_name AS SELECT * FROM original_table_name; ``` 此命令会创建名为 `backup_table_name` 的新,并将其结构以及所有记录从 `original_table_name` 复制过来[^3]。 如果只需要特定列或希望排除某些行,则可以在 `SELECT` 子句中加入条件达式: ```sql CREATE TABLE backup_table_name ( column1 datatype, column2 datatype, ... ); INSERT INTO backup_table_name (column1, column2,...) SELECT column1, column2,... FROM original_table_name WHERE condition_expression; ``` 这种方式提供了更大的灵活性,在定义目标时可以选择性地调整字段及其属性。 #### 利用 `mysqldump` 工具导出和导入数据 对于更复杂的场景或者当需要保留索引和其他对象特性的时候,还可以考虑利用外部工具如 `mysqldump` 来执行逻辑备份。这通常涉及两个步骤——先将源的内容转储成文件形式保存下来;再把该文件中的内容重新加载回数据库作为新的副本。 ```bash # 导出单个至SQL脚本文件 mysqldump -u username -p database_name table_name > /path/to/backup.sql # 将SQL脚本应用到另一个位置建立相同结构的新 mysql -u username -p new_database_name < /path/to/backup.sql ``` 上述过程适用于跨不同环境间传输整个结构连同其内部存储的信息项[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值