Mysql - 将所有表和列重命名为小写?

jyo*_*eph 10 mysql mysql-management

我最近将一个数据库从一个Windows框转移到了一个linux框.这些表在小写和大写名称之间混合.我需要一种方法将所有表和列重命名为小写.那可能吗?

我在这个SO回答中看到了表格的可能性,但是没有找到任何处理列名的东西.

use*_*076 12

您可以尝试使用Information_Schema.Columns表执行完全相同的操作

编辑:像

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `',
LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';')
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '{your schema name}'
Run Code Online (Sandbox Code Playgroud)


Вит*_*вич 8

您可以在MySQL网站上使用Anders Eriksson提出的脚本:

 select concat('rename table ', table_name, ' to ' , lower(table_name) , ';') from information_schema.tables where table_schema = 'your_schema_name';
Run Code Online (Sandbox Code Playgroud)