MYSQL批量建表儲存過程

2021-08-15 12:25:30 字數 1299 閱讀 2355

分表比較多的情況,如何批量建立,可通過儲存過程實現:

建立乙個儲存過程:紅色表結構,藍色為表名及表數量

delimiter //

create procedure sp_create_tab()

begin

set @str = " (

`id` int(11) not null auto_increment comment '自增主鍵',

`bak0` varchar(128) default null comment '備用',

`bak1` varchar(128) default null comment '備用',

`bak2` varchar(128) default null comment '備用',

`bak3` varchar(128) default null comment '備用',

`bak4` varchar(128) default null comment '備用',

`bak5` varchar(128) default null comment '備用',

`bak6` varchar(128) default null comment '備用',

`bak7` varchar(128) default null comment '備用',

`bak8` varchar(128) default null comment '備用',

`bak9` varchar(128) default null comment '備用',

`create_time` datetime default null comment '建立時間',

`update_time` datetime default null comment '修改時間',

primary key (`id`),

key `bak0` (`bak0`)

) engine=innodb auto_increment=1 default charset=utf8 comment='表'";

set @j = 0;

while @j <

256 do

set @table = concat(

'table_name',@j);

set @sql_t = concat("create table ",@table,@str);

prepare sql_t from @sql_t;

execute sql_t;

set @j = @j + 1;

end while;

end//

delimiter ;

mysql儲存過程批量建表

asif 用mysql的儲存過程建立100張表 mysql delimiter create procedure createtables begin declareiint declaretable namevarchar 20 declaretable prevarchar 20 declare...

原!mysql5 6 儲存過程 批量建表

由於業務需求,需要按天分表,因此寫了個儲存過程,根據時間生成表。根據createtime 的時間,以及 while迴圈的變數設定範圍,生成該指定日期及之後的多張表。begin declare i int 11 declare createtime varchar 32 set i 0 set cre...

MySQL 匯出建表建儲存過程語句 備份

版本一 匯出 只導資料結構 areskris areskris acer mysqldump u root p d add drop table 資料庫名字 匯出的檔名 匯出 包括資料 areskris areskris acer mysqldump u root p add drop table ...