Mysql 用下划线替换列名中的空格

Mysql 用下划线替换列名中的空格,mysql,Mysql,我继承了一个MySQL数据库,它在许多表中包含许多列,这些表的名称中有空格。我被要求将列名中的所有空格改为下划线。有没有办法用脚本来实现这一点 我想我可以用“从信息中选择”模式将它们全部列出。。。。但我不知道如何更换 我的逻辑是,如果列名包含空格,则将其替换为下划线。但是我不知道该怎么做。如果您有特权,您可以执行以下操作: UPDATE COLUMNS SET COLUMN_NAME = REPLACE(COLUMN_NAME, ' ', '_') 但最有可能的是,您无法更改模式 update

我继承了一个MySQL数据库,它在许多表中包含许多列,这些表的名称中有空格。我被要求将列名中的所有空格改为下划线。有没有办法用脚本来实现这一点

我想我可以用“从信息中选择”模式将它们全部列出。。。。但我不知道如何更换


我的逻辑是,如果列名包含空格,则将其替换为下划线。但是我不知道该怎么做。

如果您有特权,您可以执行以下操作:

UPDATE COLUMNS SET COLUMN_NAME = REPLACE(COLUMN_NAME, ' ', '_')
但最有可能的是,您无法更改模式

update information_schema.TABLES a
        join
    information_schema.COLUMNS b ON a.TABLE_Schema = b.TABLE_SCHEMA 
set 
    b.COLUMN_NAME = REPLACE(b.COLUMN_NAME, ' ', '_')
where
    a.TABLE_SCHEMA = 'YOURDBNAME'; 

如果您拥有数据库信息的权限,Raheel Hasan的答案应该是正确的

你会考虑一个简单的Python脚本来为你这样做吗?我不确定如何运行Python脚本。不过我会考虑的!像这样的?更新信息\u schema.TABLES a连接信息\u schema.COLUMNS b ON a.TABLE\u schema=b.TABLE\u schema set b.COLUMN\u NAME=REPLACE(b.COLUMN\u NAME,,“,”),其中a.TABLE\u schema='YOURDBNAME'@ThinkCode:“更新的目标表b不可更新”:首先测试表上的DTry!!是的,这可能非常危险。首先只对测试数据库进行测试。RANDALL的结论是什么?