重命名表中删除空格的所有列
我有一张表,我从一个超过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