MySql存储过程批量创建数据库

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 展示结果

看不到图片,垃圾csdn
算了,不展示了

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值