zoukankan      html  css  js  c++  java
  • (转)mysql数据库表名批量修改大小写

    由于不用服务器对mysql的表名的大小写敏感要求不一致,经常在出现线上的数据库down到了本地不能运行的情况,贴出一段代码用来批量修改数据库表名大小写。

    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 ;   
    #调用存储过程  
    #call uppercase('TEST'); 
    #TEST为你想要修改的数据库的名称
    

      

  • 相关阅读:
    php常见的数据类型
    PHP基础语法
    php表单处理
    php操作mongodb基础语法
    php连接MongoDB数据库,对数据库的增删改查
    Linux常见命令
    python操作redis——基本安装和启动
    MySQL简单的存储图片信息
    基本的位运算
    OS七层模型解析
  • 原文地址:https://www.cnblogs.com/insaneXs/p/8134292.html
Copyright © 2011-2022 走看看