Mysql 将表名重命名为大写

Mysql 将表名重命名为大写,mysql,Mysql,我在网上找到了几个脚本,与下面的脚本类似,这些脚本可以预览我启动脚本后所有表名的外观: select concat('RENAME TABLE ', TABLE_NAME, ' TO ', UPPER(TABLE_NAME), ';') from information_schema.TABLES where TABLE_SCHEMA = 'your_db' 但我需要的是一个升级脚本,它可以实际更新数据库中的表名,而不仅仅是让我预览表名 我知道这些朋友: lower_case_table_na

我在网上找到了几个脚本,与下面的脚本类似,这些脚本可以预览我启动脚本后所有表名的外观:

select concat('RENAME TABLE ', TABLE_NAME, ' TO ', UPPER(TABLE_NAME), ';') from information_schema.TABLES where TABLE_SCHEMA = 'your_db'
但我需要的是一个升级脚本,它可以实际更新数据库中的表名,而不仅仅是让我预览表名

我知道这些朋友:

lower_case_table_names = 1
lower_case_file_system = 1

但这不是一个选项,因为我无法在我的域中的.ini文件中进行更改-因此,与其在线重命名每个表,我更喜欢一个简单的脚本,可以一次重命名(并保存)所有表名…-这样的更新脚本看起来会是什么样子?

以下是您可能需要考虑的事项:

   Usage Notes for the INFORMATION_SCHEMA Database
   Although you can select INFORMATION_SCHEMA as the default database with a 
   USE statement,
   you can only read the contents of tables, 
   not perform INSERT, UPDATE, or DELETE operations on them.
链接:

这里还有一个链接解释信息架构更新问题:

和评论:

如何在mysql中实现信息模式表:

评论:


当我的托管公司将MySQL数据库从Windows移动到Linux时,我遇到了类似的问题,不得不将所有表名更改为大写:

首先在
phpmyadmin的
SQL
窗口中运行此命令

从information_schema.tables中选择concat('rename table',table_name','to',upper(table_name),';'),其中table_schema='your_schema_name'


这将生成一个脚本,将所有表名更改为大写。复制脚本并将其粘贴到
SQL
窗口中并运行。

为什么要这样做?大多数实现不区分大小写吗?
更新信息\u schema.TABLES set TABLE\u NAME=UPPER(TABLE\u NAME),其中TABLE\u schema='your\u db'
这是什么情况?