重命名表中删除空格的所有列

我有一张表,我从一个超过100列的非常大的CSV导入。 我刚刚注意到他们已经在列名中导入了空格。

有没有办法重命名所有列并删除空格?


以下查询将从包含数据库your_database中的表your_table中的任何空白的列名称中删除所有空格。 您可以用您需要的值替换。

SELECT
    CONCAT(
           'ALTER TABLE ', C.TABLE_NAME, ' CHANGE `', 
           C.COLUMN_NAME, '` ', REPLACE(C.COLUMN_NAME, ' ', ''), ' ',
           C.DATA_TYPE, ';'
          )
FROM
    INFORMATION_SCHEMA.COLUMNS C
WHERE
    TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table'
    AND C.COLUMN_NAME LIKE '% %';

密切关注列名周围的反引号。 这将输出一组ALTER TABLE语句,如下所示:

ALTER TABLE your_table CHANGE `Old Column Name` OldColumnName VARCHAR;

试试这个系统过程:

EXEC sp_RENAME 'TableName.OldName' , 'NewName', 'COLUMN'
链接地址: http://www.djcxy.com/p/86245.html

上一篇: Rename all columns in a table removing whitespace

下一篇: flask admin custom QueryAjaxModelLoader