MYSQL將表名稱修改成大寫的存儲過程
更新時(shí)間:2022年07月18日 14:53:56 作者:Pofour
這篇文章主要為大家詳細(xì)介紹了MYSQL將表名稱修改成大寫的存儲過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文為大家分享了MYSQL將表名稱修改成大寫的存儲過程,具體內(nèi)容如下
1. 條件:
1.1 Mysql設(shè)置對大小寫敏感
2. 執(zhí)行下述存儲過程:
#call uppercase('庫名')
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);
SET @isNotSame = @newname <> BINARY oldname;
IF NOT done && @isNotSame THEN
SET @SQL = CONCAT('rename table `',oldname,'` to `', LOWER(@newname), '_tmp` ');
PREPARE tmpstmt FROM @SQL;
EXECUTE tmpstmt;
SET @SQL = CONCAT('rename table `',LOWER(@newname),'_tmp` to `',@newname, '`');
PREPARE tmpstmt FROM @SQL;
EXECUTE tmpstmt;
DEALLOCATE PREPARE tmpstmt;
END IF;
UNTIL done END REPEAT;
CLOSE cur;
END
3. 執(zhí)行一下語句
call uppercase('庫名');
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL thread_stack連接線程的優(yōu)化
當(dāng)有新的連接請求時(shí),MySQL首先會(huì)檢查Thread Cache中是否存在空閑連接線程,如果存在則取出來直接使用,如果沒有空閑連接線程,才創(chuàng)建新的連接線程2017-04-04
Mysql存儲引擎InnoDB和Myisam的六大區(qū)別
這篇文章主要介紹了Mysql存儲引擎InnoDB和Myisam的六大區(qū)別,本文從構(gòu)成上、事務(wù)處理、SQL操作、自動(dòng)ID、表行數(shù)等方面講解了它的區(qū)別,需要的朋友可以參考下2015-02-02
mysql行鎖(for update)解決高并發(fā)問題
這篇文章主要介紹了mysql行鎖(for update)解決高并發(fā)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
解決Node.js mysql客戶端不支持認(rèn)證協(xié)議引發(fā)的問題
這篇文章主要介紹了解決Node.js mysql客戶端不支持認(rèn)證協(xié)議引發(fā)的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06

