Mysql 數(shù)據(jù)庫表名批量改為大寫

DELIMITER // 
 
DROP PROCEDURE IF EXISTS uppercase // 
 
CREATE PROCEDURE uppercase(IN dbname VARCHAR(200)) 
 
BEGIN 
 
DECLARE done INT DEFAULT 0; 
 
DECLARE oldname VARCHAR(200); 
 
DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema = dbname; 
 
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; 
 
OPEN cur; 
 
REPEAT 
 
FETCH cur INTO oldname; 
 
SET @newname = UPPER(oldname); 
 
#IF newname equals to oldname, do nothing; 
#select 'a' <> 'A'; -> 0 
#select 'a' <> BINARY 'A'; -> 1 
SET @isNotSame = @newname <> BINARY oldname; 
 
IF NOT done && @isNotSame THEN 
 
SET @SQL = CONCAT('rename table ',oldname,' to ',@newname); 
 
PREPARE tmpstmt FROM @SQL; 
 
EXECUTE tmpstmt; 
 
DEALLOCATE PREPARE tmpstmt; 
 
END IF; 
 
UNTIL done END REPEAT; 
 
CLOSE cur; 
 
END // 
 
DELIMITER ; 

調(diào)用存儲過程
call uppercase('數(shù)據(jù)庫名');

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容