1.存储过程
1.1存储过程的查看,执行,删除
# 查看存储过程列表
show procedure status;
# 执行存储过程
call createTables_cq();
# 删除存储过程
drop PROCEDURE createTables_cq;
1.2使用数据库,删除存储过程
#.使用cq_mhl_test这个数据库
USE cq_mhl_test;
# 如果存在名为`createTables_cq`的存储过程,就将其删掉
drop procedure if EXISTS `createTables_cq`;
1.3编写批量建表的存储过程
CREATE PROCEDURE `createTables_cq`()
BEGIN
DECLARE i INT;
DECLARE table_name VARCHAR (20);
DECLARE table_pre VARCHAR (20);
DECLARE sql_text VARCHAR (2000);
SET i = 0;
SET table_name = '';
SET table_pre = 'cq_table_';
SET sql_text = '';
WHILE i<100 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, '(
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 COMMENT=\'测试注释\' ' );
SELECT sql_text;
SET @sql_text = sql_text;
PREPARE stmt FROM @sql_text;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET i = i + 1;
END WHILE;
END
1.4 展示结果
算了,不展示了