mysql通过存储过程实现修改数据库名,oldtable5是old库 oldtable6是新库,调用call rename_table('oldtable5','oldtable6');
第一步、创建存储过程
CREATE DEFINER=`root`@`%` PROCEDURE `rename_table`(IN oldname VARCHAR(100),IN newname VARCHAR(100))
BEGIN
declare v_sql varchar(500);
declare tab_name varchar(200);
DECLARE flag INT DEFAULT FALSE; -- 自定义控制游标循环变量,默认false
DECLARE C_RESULT CURSOR FOR
(select table_name from information_schema.`TABLES` where TABLE_SCHEMA = oldname);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = TRUE;
set v_sql= concat('Create database ',newname);
set @sql=v_sql;