我有一个表格,我从一个非常大的CSV导入,有超过100列。我刚刚注意到他们已经在列名中导入了空格。
有没有办法重命名所有列并删除空格?
答案 0 :(得分:6)
以下查询将从数据库your_table
中表your_database
中包含任何空格的列名中删除所有空格。您可以使用所需的值替换。
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;
答案 1 :(得分:-1)
尝试此系统程序:
EXEC sp_RENAME 'TableName.OldName' , 'NewName', 'COLUMN'