循环创建多张表 和 多个数据库sql语句(数据库水平分库分表时方便)
----------------------靓丽的分割线 结束---------------------------------------
============靓丽的分割线 以下为老版本 不可以动态传参数 仅供参考==============
-----------------------------MySQL动态创建多张表-----------------------------------------------
说明:1、修改SET table_pre='score_stream_' 为你需要的数据库名称前缀
2、修改SET i=1 为你需要开始的数量后缀(最小后缀)
3、修改WHILE i<16 为你最大的数量后缀(最大后缀)
call create_tables();
CREATE PROCEDURE `create_tables`()
BEGIN
DECLARE i INT;
DECLARE table_name VARCHAR(20);
DECLARE table_pre VARCHAR(20);
DECLARE sql_text VARCHAR(2000);
SET i=1;
SET table_name='';
SET table_pre='score_stream_';
SET sql_text='';
WHILE i<16 DO
IF i<10 THEN SET table_name=CONCAT(table_pre,'0',i);
ELSE SET table_name=CONCAT(table_pre,i);
END IF;
SET sql_text=CONCAT('CREATE TABLE ', table_name, '(
id VARCHAR(32) NOT NULL,
user_id VARCHAR(32),
direction VARCHAR(8) ,
operate_score INT(11),
operator VARCHAR(32) ,
operate_time DATETIME,
score_status INT(4) ,
score_rule_id VARCHAR(32) DEFAULT NU