分表比較多的情況,如何批量建立,可通過儲存過程實現:
建立乙個儲存過程:紅色表結構,藍色為表名及表數量
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 ...