MySQL-大写表名转换为小写表名
若lower_case_table_names=0可能导致表名既有大写又有小写,
想将lower_case_table_names设为1的话 需要先将大写的表和视图名称改为小写的。
1.查找出名称为大写的表和视图
SELECT
    TABLE_SCHEMA,
    TABLE_NAME,
    TABLE_TYPE 
FROM
    information_schema.`TABLES` 
WHERE
    TABLE_SCHEMA NOT IN ( 'information_schema', 'sys', 'mysql', 'performance_schema' ) 
    AND TABLE_NAME REGEXP BINARY '[A-Z]';
2.拼接出大写表名改为小写的SQL
SELECT
	CONCAT( 'rename table ', TABLE_SCHEMA, '.', TABLE_NAME, ' to ', TABLE_SCHEMA, '.', LOWER( TABLE_NAME ), ';' ) 
FROM
	information_schema.`TABLES` 
WHERE
	TABLE_SCHEMA NOT IN ( 'information_schema', 'sys', 'mysql', 'performance_schema' ) 
	AND TABLE_TYPE = 'BASE TABLE' 
	AND TABLE_NAME REGEXP BINARY '[A-Z]';

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号