mysql儲存過程批量建表

2021-10-10 12:46:16 字數 2353 閱讀 8218

asif

用mysql的儲存過程建立100張表

#mysql

delimiter $$

create

procedure`createtables`()

begin

declareiint;

declaretable_namevarchar(20);

declaretable_prevarchar(20);

declaresql_textvarchar(2000);

seti=0;

settable_name='';

settable_pre='user_convenient_';

setsql_text='';

while i<100 do

if i<10thensettable_name=concat(table_pre,'0',i);

elsesettable_name=concat(table_pre,i);

endif;

setsql_text=concat('create table ', table_name,'(

user_id bigint(20) not null default 0 comment \'使用者id\',

operate_time timestamp not null default current_timestamp on update current_timestamp comment \'資料更新時間\',

primary key (user_id)

) engine=innodb default charset=utf8');

selectsql_text;

set@sql_text=sql_text;

preparestmtfrom@sql_text;

executestmt;

deallocatepreparestmt;

seti=i+1;

endwhile;

end$$

delimiter ;

#dropprocedurecreatetables; 刪除儲存過程

#call createtables(); 執行儲存過程

#showprocedurestatus; 列出當前的儲存過程

#showcreateprocedurecreatetables 顯示儲存過程的具體內容

MYSQL批量建表儲存過程

分表比較多的情況,如何批量建立,可通過儲存過程實現 建立乙個儲存過程 紅色表結構,藍色為表名及表數量 delimiter create procedure sp create tab begin set str id int 11 not null auto increment comment 自增...

原!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 ...